-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
poffsoft
veterán
válasz
Fferi50 #34063 üzenetére
o.k.
Fránya makrórögzítő csak így hajlandó rögzíteni.ráadásul a "H" még hibás is volt, csak most vettem észre:
Sub Rendez()
Dim usor As Long
Dim lusor As Long
Dim ms As Long ' max sor'
Dim sm As Long ' aktualis sor'
Dim i As Variant
Dim Ls() As String
Dim Ts As String
Dim valasz As String
Ls() = Split("B.C.D.E", ".") ' a neveket tartalmazó oszlopok'
Ts = "H" ' a szűrt lista oszlopa'
sm = 1
ms = Rows.Count
usor = Range(Ts & ms).End(xlUp).Row
If usor > 1 Then
valasz = MsgBox("Nem üres a cél """ & Ts & """ oszlop." & vbCrLf & "Folytatod?", vbYesNo, "Figyelem!")
If valasz = vbYes Then Range(Ts & "1:" & Ts & usor).Clear Else Exit Sub
End If
For Each i In Ls
usor = Range(i & ms).End(xlUp).Row
If usor > 1 Then
Range(i & "2:" & i & usor).Copy Destination:=Range(Ts & sm)
sm = sm + usor - 1
End If
Next i
'duplicate remove'
usor = Range(Ts & ms).End(xlUp).Row
Application.DisplayAlerts = False
Range(Ts & "1:" & Ts & usor).RemoveDuplicates Columns:=1, Header:=xlNo
Application.DisplayAlerts = True
With ActiveSheet.Sort
.SetRange Range(Ts & "1:" & Ts & usor)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range(Ts & "1").Select
End Sub -
mivannem
csendes tag
válasz
Fferi50 #34023 üzenetére
Ok, köszi, én megoldottam, csak pontatlan, most még épp a pontosításán dolgozom. A végtelen megoldás az világos, és nem is probléma, a lényeg, hogy hasonlítsanak egymásra.Jó lett volna, ha az excel tartalmaz olyan függvényt, amely szétosztja a cella értékét több cella között, mert így 150%-os hiba is beesik néha. Sajnos ezen feladatom alatt kellett rájönnöm, hogy mennyire buta és mamut ez a program. Egy darab fájl (3 db egymillió cellát tartalmazó lap, két lapon csak számokkal, egyiken pedig képlettel feltöltve) 1,3 gb méretű, megnyitásához pedig 28 gb ram kell.
-
mivannem
csendes tag
válasz
Fferi50 #34015 üzenetére
Magamat idézve: "csak 3000 sorra és ugyanennyi oszlopra kell majd, szóval nem kézzel szeretném beírni". És a 15-öt ne úgy ossza el, hogy 15 db egyes, inkább 4-3-2-2-1-1-1-1 meg egy csomó 0. De megközelíthető a probléma úgy is, hogy adott sor- és oszlopösszegek alapján töltjük ki a táblázatot, viszont akkor nem csak az oszlopokat kell súlyozni hanem a sorokat is.
-
mivannem
csendes tag
válasz
Fferi50 #34002 üzenetére
Köszi, de képzeld el, ez a képlet milyen eredményt adna, ha a pl 15-öt kellene elosztani 3000 felé? Ha ilyen egyszerű volna, már rég készen lennék, azért írtam ide, mert ez ennél kicsit bonyolultabb. A súlyozás célja, hogy a nagyobb osztályba tartozók nagyobb valószínűséggel vonzzák be, és többet, de a kisebb súlyúakhoz is beeshet véletlenszerűen egy-egy, persze nagyon kis eséllyel. Ha ez segít, akkor hozzáteszem, hogy a sor- és oszlopösszegeknek is ki kellene jönnie, ezek az adottak, ezek alapján töltöm ki a táblázat egymillió celláját. De a lényeg a sorösszeg, az oszlopösszeg nem feltétlenül kell, hogy pontos legyen, inkább az az egyik súlyozási tényező.
-
nordican
tag
válasz
Fferi50 #33981 üzenetére
Igen, de ha egy oszlopot szélesebbre veszek, akkor a tőle jobbra lévő oszlopokban lévő cuccok is csúsznak (vagy keskenyebbre kéne vennem őket, de ezt meg a bennük lévő adatok miatt nem tudom). Elég kötött munkalapokkal dolgozom, szinte minden mindennel összefügg, ami ilyen szempontból elég szerencsétlen megoldás.
-
nordican
tag
-
nordican
tag
válasz
Fferi50 #33974 üzenetére
Fantasztikus vagy, köszönöm!
Így már sikerült a meglévő munkafüzetemre alkalmaznom, egy bökkenő van, és itt fel is adom ezt a történetet. Ha a sorban van összevont cella (és nekem sajnos van), ott nem működik, és hiába szedem szét a cellákat, a szöveg nem megy át a következő cellába. Ha leveszem a Sortöréssel több sorba opciót, akkor átfolyik a másik sorba, de a lista elemei egymás mögött jelennek meg. Magyarul kellene egy jó széles oszlop, ahová kompletten beférnek a lista elemei (amik egyébként fájlnevek), ehhez meg újra kellene csinálnom az összes munkalapot.
-
nordican
tag
válasz
Fferi50 #33964 üzenetére
Fiúk-lányok, tök rendesek vagytok, hogy ennyi időt beleöltök más problémájába, de nekem ez még mindig túl elvont. Még azt kérhetném, hogy egy konkrét példára fordítsátok le ezeket a kódokat?
Szóval tegyük fel, hogy a Munka1 lapom a főlap, itt az A1 és az A3 cellában készül két különböző (többtételes) lista, és a Munka2 lapon a B2 és B4 cellában kellene megjelennie automatikusan az A1 és A3 listának, és egyúttal automatikusan át is kellene méreteződnie a Munka2 lap 2 és 4-es sormagasságának. Én pedig megfogom a kódot és egy az egyben beszúrom a Worksheet/Change lapra, és beszámolok az eredményről. Ha működik, akkor már csak a cellák meg a lapok nevét kell lecserélnem, ami elvileg még nekem is menni fog. -
poffsoft
veterán
válasz
Fferi50 #33964 üzenetére
Én értem.
Nem biztos, hogy nordican is értette az uniont.Szóval, ha csak azokat a
cellákat figyeled, amik az A oszlopban (A:A) vannak, és a B1:E100 tartományban, meg a 23. sort:If Not Intersect(Target, Union(Range("A:A"), Range("B1:E100"), Range("23:23"))) Is Nothing Then
-
-
kezdosql
tag
válasz
Fferi50 #33923 üzenetére
Igen, ilyenekkel en is szivtam idonkent csv fajloknal.
Hulye excel ilyenkor az egesz sornyi adatot egyetlen cellaba olvasta be.
A megoldas az volt, hogy txt-re at kellett nevezni, akkor mar elindult a konverzios varazslo, amelyik tudta, hogy vesszo es pontosvesszo is lehet hatarolo.
Kar, hogy kulon nem lehet elinditani a konverzios varazslot. -
-
Dronte
aktív tag
válasz
Fferi50 #33911 üzenetére
Köszi, énis erre jutottam eddig, viszont módszertanilag nem tudom egészen hogy érdemes nézni. Tehát mire húzzam a függvényt - éves százalékos változásokra, vagy nominális értékekre.. esetleg kezdő és végső időpontra? Hogy mutat reális képet? Igazából ez lehet részletkérdésnek hangzik, de elég nagy elemzésről van szó
-
válasz
Fferi50 #33902 üzenetére
Ugyan nem tudom milyen csúnya szavakat használsz, de a leírtakkal mintha megoldódott volna a probléma. Létrehoztam a segédmezőt a leírtak szerint és így mintha lenne eredménye
Nagyon szépen köszönöm a segítséget!
Amit ajánlottam, fenntartom - bármikor van szegedi út, szívesen meghajigállak sütivel -
-
kezdosql
tag
-
Delila_1
veterán
válasz
Fferi50 #33838 üzenetére
Felvittem az elsőt.
Aki tudja, folytassa! -
egil2
csendes tag
válasz
Fferi50 #33834 üzenetére
Köszönöm, ez nem ad megoldást vagy nem látom hogy lehetne ezzel megoldani.
Ha pl. 52 üzletkötő 1100 szerződése van a táblában, nekem 52 új excel tábla kéne, bennük az egyes üzletkötők szerződéseivel tehát az 52 új táblában összesen 1100 sorral. Tehát hogy ne kelljen 52 (máskor még több) szűrést megcsinálni és az egyes szűrések eredményét új excelbe copyzni. -
Delila_1
veterán
válasz
Fferi50 #33826 üzenetére
Munkalapra is el lehet helyezni, nem szükséges a userform. A hátránya, hogy ha sok sorba akarunk ezzel a módszerrel adatot bevinni, egyrészt csúnyán megnöveli a fájl méretét, másrészt soronként kell meghatározni a LinkedCell értékét.
Makróval meg lehetne oldani viszont, hogy mindig az első üres sorba íródjon fel a ListFillRange tulajdonságnál megadott tartományból kiválasztott érték.
Itt a C oszlop első üres sora lesz a célcella.
Private Sub ComboBox1_Change()
Dim sor As Long
sor = Range("C" & Rows.Count).End(xlUp).Row + 1
Range("C" & sor) = ComboBox1
End Sub -
poffsoft
veterán
válasz
Fferi50 #33795 üzenetére
Nekem eszembe sem jutott volna.
Ezt sikerült összehoznom végül:
Public Function STR_SPLIT(ByVal str As String, ByVal sep As String, Optional ByVal n As Integer = 0)
Dim V() As String
Dim num As Integer
V = Split(str, sep)
num = UBound(V)
If num < n Then STR_SPLIT = "#SOK": Exit Function
If n = 0 Then STR_SPLIT = num Else STR_SPLIT = V(n - 1)
End Functiona képlet pedig:
=STR_SPLIT(CELLA("filenév");"\";STR_SPLIT(CELLA("filenév");"\"))
ahol:
=STR_SPLIT(CELLA("filenév");"\")
megadja, hány darabból áll a mappanév,=STR_SPLIT(CELLA("filenév");"\";2)
megadja, hogy a 2. mappa nevét. -
nordican
tag
válasz
Fferi50 #33790 üzenetére
Sziasztok, nagyon köszönöm, ehhez kell egy kis idő, hogy feldolgozzam, de igyekszem.
Ez pedig, remélem, az utolsó kérdésem (nem gondoltam, hogy az Excel függőséget tud okozni).
A munkafüzetem sok munkalapból áll, amelyek egy részét nem mindig használom, így elrejtettem. Ha viszont kellenek, szeretném őket felfedni, és nem egyenként. A neten találtam is egy ilyen makrót, amivel mindet fel lehet fedni egyszerre (talán másnak is hasznos lehet, bocs, ha nagyon banális):Sub Minden_munkalapot_felfed()
Dim sh As Worksheet
For Each sh In Sheets
sh.Visible = True
Next sh
End SubKiválóan működik, de: Hogyan lehetne úgy átírni, hogy csak meghatározott munkalapokat fedjen fel? Két munkalapot mindig rejteni szeretnék, mert képletek vannak rajta.
-
poffsoft
veterán
válasz
Fferi50 #33773 üzenetére
Megnyugodtam. Eddig féltem, megint nekem vannak szövegértési nehézségeim.
Kategorikusan havi adatok összevetéséről beszél a kolléga.
Szerintem még mindig az a gondja, hogy hogyan állapítsa meg az adott hónap napjainak számát (vagyis az átlag, median, módusz, stb.) számításához mekkora range-t kell kijelölnie.
Gondolom, perpillanat csak fix 31 cellás vektorokkal tudja a képleteket beírni...
De nem okoskodom tovább, megvárjuk a válaszát -
Snoop-y
veterán
válasz
Fferi50 #33718 üzenetére
Elore is koszonom
Itt egy pelda es benne a keplet ami csak a date range -t nezi (nyilvan ezert nem helyes az eredmeny mert nincs kriteria a userre megadva)
-
nordican
tag
válasz
Fferi50 #33705 üzenetére
No, képlet elfogadva, a háttér megváltozott, de nem úgy ahogy én szeretném. Nekem az kéne, hogy üres cellánál legyen háttérszíne a cellának, de ha írunk bele, akkor tűnjön el a háttérszín. Ha pedig van háttérszín, az nyomtatásnál ne látszódjon. Szóval hogy rögtön lehessen látni, hogy milyen cellákat kell kitölteni, de ha ki vannak töltve, akkor már olyan legyen, mint a többi cella. Azt gondoltam, erre sokkal gyakrabban szükség van, semmint hogy az egész internetet feltúrjam a megoldásért.
A fenti angol linken így működik a dolog. Nekem most simán kitöltötte a hátteret, ha van venne szöveg, ha nincs, amit a Kitöltéssel is meg tudok csinálni. Vagy még mindig én b...ok el valamit? -
EmberXY
veterán
válasz
Fferi50 #33689 üzenetére
Köszönöm előre is, reggel ezzel fogok kezdeni.
Ezt a "meghívást" is szerintem még pontosítani kell majd, mert ehhez én láma vagyok
És még annyit kérdeznék pluszban, hogy az "n" értékeknél konkrétan csak a különálló "n"-t keresi, vagy mindent, amiben "n" van?
Addig is köszönöm a segítséget. -
EmberXY
veterán
válasz
Fferi50 #33687 üzenetére
Szia!
Ez csak egyszerre egy helyen van megnyitva, csak néha más-más kezeli.
Azért szeretném, ha inkább valami felugró üzenet lenne, mert azt biztosan észreveszi, aki éppen a gépnél ül, és kénytelen utánajárni, mert így is rengeteg ilyen-olyan jelző mező van, amik felett így is átsiklik mindenki. Szerencsére legtöbbször én használom a dokumentumot, a nagy részét én alakítottam ki, de amint szabadságra megyek, az egész rendszer egy katyvasz lesz, mert vagy ez marad el, vagy az, ezt szeretném valahogy elkerülni.
A makrós megoldás mennyivel lenne bonyolultabb? Egy makró már fut, azt hiszem abban is Te segítettél anno... -
muszty
tag
válasz
Fferi50 #33679 üzenetére
Igen, igazad van, én hibáztam. Rosszul írtam be a számokat a táblázatba. Tehát a táblázat számai a következőek (kerekítés nélkül, ha a kék mezőben a szám 758 és a szorzó 2,4)
1
2,4
5,7
13,8
33
79,6
191
458Kerekítéssel:
1
2
6
14
33
80
191
458Valaki meg tudná nekem csinálni? Természetesen megtérítem az árát.
-
Zola007
veterán
válasz
Fferi50 #33642 üzenetére
Szia
próbáltam, töröltem az adattáblán kívül mindent többször is, de nem működött.Az imént viszont meg lett a ludas.
Az egyik sorban volt egy üres egyesített cella, ami belelógott abba az oszlopba, ahová új oszlopot akartam beszúrni.
Mondjuk 2 dolgot nem értek ezzel kapcsolatban:
- miért írja azt, hogy adatvesztés elkerülése, mikor teljesen üres volt a cella-
- miért nem írja, hogy egyesített cellával ütközés, mint pl. mikor szimpla cella tartalmat akarsz olyan területre másolni, ami egyesített cellát tartalmaz. Akkor bezzeg felismeri.
- semmi köze nem volt az AC/67-es cellához, a 6. sorban húzódott az L oszlopigMindegy is, a lényeg, hogy ha valaki hasonlóba fut bele, nézzen meg.
-
moya#no1
aktív tag
Új hozzászólás Aktív témák
- Ubiquiti hálózati eszközök
- Cyberpunk 2077
- Óra topik
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Semmibe veszi a KRESZ-t a Tesla Mad Max módja
- Emelkedik a korábbi generációs Intel CPU-k ára
- Meghalt a Windows 10, éljen a Windows 10!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Battlefield 6
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- Apple iPhone 15 128GB,Újszerű,Dobozával, 12 hónap garanciával
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Asus H310M i3 9100F 16GB DDR4 120GB SSD 500GB HDD GTX 970 4GB Zalman ZM-T7 FSP 400W
- RAKTÁRKISÖPRÉS! Eladó szerverek!
- Azonnali készpénzes nVidia RTX 4000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest