-
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
-
Drachoo
senior tag
Sziasztok!
Nem tudom jó helyre írok-e, mert nem szorosan excel hanem google spreadsheets, de hátha valaki tud segíteni. Egy képletben szeretnék segítséget kérni.
Adott egy táblázaton belül két munkalap. Mindkét munkalapban adott két oszlop melyben dátumok vannak felrögzítve egyszerű formátumként, például 2015.08.23, a két oszlopban a dátumok sorrendje nem egyezik. Viszont az egyik munkalapon a dátumok melletti oszlopban numerikus értékek is találhatóak és ezeket szeretném átvinni a másik táblázatba arra a helyre ahol stimmel az azonos dátum.
Hú remélem sikerült érthetően megfogalmaznom.
Ha valaki segíteni tud merre induljak el megköszönném.
Okos pilóta alagútban nem katapultál.
-
bumlet
csendes tag
Sziasztok!
Van egy táblázatom amiben számlák vannak rögzítve több munkalapon. Azt szeretném megoldani hogy a táblázat egy új munkalapján jelenjen meg az összes olyan számla ami teljesít egy adott feltételt.
Előre is köszönöm a segítségeteket.
-
bumlet
csendes tag
válasz Mittu88 #28307 üzenetére
https://drive.google.com/file/d/0B7b59Ad833pDVTNadWVwcF9tNTg/view?usp=sharing
Azt szeretném hogy a Kp munkalapon jelenítse meg az összes kp-s számlát, a bank munkalapon pedig a bankos számlákat. A feltöltött táblában van egy pár adat de ettől sokkal többel kell dolgoznom.
-
bumlet
csendes tag
válasz bumlet #28308 üzenetére
Úgy tűnik találtam egy megoldást. Ha minden munkalapon megadom a számlákhoz a hozzájuk tartozó kifizetési bizonylatok sorszámát, akkor ezeket listázva a "kp" és a "bank" munkalapokon az FKERES függvénnyel ki tudom listázni a szükséges adatokat. Már csak azt kéne megoldani hogy az FKERES ne csak egy munkalapon keresse az adott sorszámokat, hanem az összesen.
-
Delila_1
Topikgazda
válasz Mittu88 #28305 üzenetére
Az On Error Resume Next hibát generál, ha nem tudja megnyitni a következő sorban a fájlodat.
A megnyitási hiba kódja az 1004. Mikor bejön ez a hibakód, felteszi a kérdést
valasz = MsgBox("Újrahívás", vbYesNo + vbExclamation, "Új próbálkozás")
Igen válasz esetén kilép a Sub-ból, Nem-nél az Ujra címkéhez ugrik, ahol megszüntetjük a hibakódot az
On Error GoTo 0 sorral, másképp hibát jelez akkor is, ha most már meg tudja nyitni a fájlt.
Ez a lenullázó sor tulajdonképpen a 2. próbálkozástól érdekes, első esetben 0 a hibakód.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Mittu88 #28311 üzenetére
Szivi.
A hibakódot úgy tudtam meg, hogy nem létező fájlt írtam a megnyitáshoz. Ekkor leállt hibával (még nem írtam hibakezelést), és kiírta, amire szükségem volt.
Szerk.:
A 23310-ben felcseréltem az igen-nem válaszokhoz tartozó következő lépéseket, de észrevetted.[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz bumlet #28309 üzenetére
Feltettem ide a füzetedet egy makróval.
A Segéd lapot töröltem. Összesen 2 adat miatt nem érdemes fenntartani egy teljes lapot, az érvényesítést másképp adtam meg a többi lap G oszlopában.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
#81999360
törölt tag
Sziasztok,
Lehet olyat csinálni, hogy beírok egy cellába egy számsorozatot, (pl.: 12345678900) azt ő úgy formázza, ahogy megadom neki? pl minden második számjegy után tegyen pontot, az utolsó 4 számjegy elé pedig egy kötőjelet?
Tehát valahogy így nézzen ki: 12.34.56.78-9000?Próbáltam a cellaformázás alatt "#" jelekkel, de nem igazán értem, hogy hogyan működik.
-
Delila_1
Topikgazda
válasz #81999360 #28315 üzenetére
Túl sok az Excel lelkének, nem fogadja el a ##.##.##.##-#### formátumot az egyéni kategóriában. Javaslom, hogy a beírás oszlopát szöveg formátumra vedd, és egy segédoszlopban az
=BAL(A1;2)&"." & KÖZÉP(A1;3;2) &"." & KÖZÉP(A1;5;2) &"." & KÖZÉP(A1;7;2) &"-" &JOBB(A1;4)
képlettel formázd a kedved szerint.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz bumlet #28317 üzenetére
Remélem, most jót töltöttem fel.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tzimash
őstag
Sziasztok!
Van egy táblázatom, amiben külön lapra kellene szétbontanom a selejt és a jó termékeket.
A 4. oszlopban van az az adat, amely jelzi, hogy selejtről van-e szó vagy jóról.
A "jóknál" tuti ott van egy J betű a karakterláncban (pl: L10 J 0000 7221->7221) a selejtek megjelenési formája viszont változó lehet.
A lényeg, hogy ki kellene szedni a selejtet tartalmazó sorokat és fejléccel együtt egy másik füzetlapra másolni, az eredetiből pedig törölni.
Az eredeti (vagy egy harmadik - teljesen mindegy) lapon meg maradna az összes "J"-t tartalmazó sor. A táblázat mérete nem állandó (50-700ezer sorról van szó)
Segítene valaki erre egy makrót írni?[ Szerkesztve ]
-
the radish
senior tag
válasz Delila_1 #28196 üzenetére
Szia!
Azt hogy tudom megoldani, hogy a 2. sorban legyen a beillesztés első sora?
Tehát az "A2" legyen a kezdő cella. Próbáltam átírni, de nem sikerült.
(Fejléc nem kell, az úgyis törlődik, miután áthelyeztem a törlés parancsot.)Do While Cells(tol, 1) <> ""
WSM.Cells = "" 'másolat lapjának kiürítése
sorM = Application.CountA(WSM.Columns(1)) + 1 'ebbe a sorba kell másolni
tol = Application.Match(sorszam, Columns(1), 0)
If VarType(tol) = vbError Then 'ha nem talált tol értéket
MsgBox "Kesz"
Exit Sub[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz tzimash #28319 üzenetére
Másold át a fejlécet egy új lapra.
Használd az autoszűrőt az eredeti lapon. Megadhatod, hogy azok a sorok legyen láthatóak, amelyek tartalmazzák a J karaktert. Ezeket a teljes sorokat kijelölöd, Ctrl+c-vel másolod, az új lap A2 cellájába Ctrl+v-vel beilleszted.
Marad a kijelölés az első lapon, ezeket a sorokat törlöd.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz the radish #28322 üzenetére
Rows(1).Copy WSM.Range("A1") 'fejléc másolása ezt sort töröld ki a makróból.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz the radish #28322 üzenetére
Figyelmetlenül olvastam az előbb.
Egy jól működő makrót ne írjunk át azért, amit könnyedén a makró nélkül is elintézhetsz. Kijelölöd a címsort, és nyomsz egy Delete-t. Ha meg úgyis törlődik, akkor ezt sem kell billentyűzetről elvégezned.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
the radish
senior tag
válasz Delila_1 #28325 üzenetére
Nagyon köszi, de a forrásadat megnyitását is makró végzi, s a további műveletek miatt kell az első sort üresen hagynom azon a lapon, ahova a másolás történik.
Tegnap valamit elcseszhettem, mert amikor az utolsó adatot is átmásolta, a makró hibával leállt ahelyett, hogy a"kész" felirat jelent volna meg.
Most így van és működik, de ha megkérlek, vetnél rá egy pillantást, hogy megfelelő-e?
Do While Cells(tol, 1) <> ""
WSM.Cells = "" 'másolat lapjának kiürítése
sorM = Range("A2")
tol = Application.Match(sorszam, Columns(1), 0)
If VarType(tol) = vbError Then 'ha nem talált tol értéket
MsgBox "Kesz"
Exit Sub
Else
ig = Application.Match(sorszam, Columns(1), 1)
Rows(tol & ":" & ig).Copy WSM.Range("A2")
Makro 'Itt indul a saját makród
sorszam = sorszam + 1 'növeljük a keresendő értéket
End If
Loop
End SubAz eredeti:
Do While Cells(tol, 1) <> ""
WSM.Cells = "" 'másolat lapjának kiürítése
sorM = Application.CountA(WSM.Columns(1)) + 1 'ebbe a sorba kell másolni
tol = Application.Match(sorszam, Columns(1), 0)
If VarType(tol) = vbError Then 'ha nem talált tol értéket
MsgBox "Kesz"
Exit Sub
Else
ig = Application.Match(sorszam, Columns(1), 1)
Rows(tol & ":" & ig).Copy WSM.Range("A" & sorM)
Makro 'Itt indul a saját makród
sorszam = sorszam + 1 'növeljük a keresendő értéket
End If
Loop
End SubElőre is köszönöm!
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz the radish #28326 üzenetére
Az eredeti makró végére, az End Sub fölé tegyél be egy sort:
WSM.Rows(1) = ""
Ennyi az egész, ezzel a másolt lap első sorából kitörlöd az adatokat.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz the radish #28328 üzenetére
Akkor segítene más.
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
spe88
senior tag
Olyan függvényt tudnátok mondani, ami megszámol egy adott tartományban különböző tartalmű cellákat?
Olyan kellene, ami nem csak sázmoakt kezel!PL:
A oszlopban
alma
alma
alma
körte
körte
dió
narancs
narancsés erre kidobja, hogy 4, mert 4 különböző szüveg van benne!
Köszi
Spóroljunk! Kerül, amibe kerül!
-
Delila_1
Topikgazda
-
spe88
senior tag
válasz Delila_1 #28331 üzenetére
Köszi működik, egy baj viszont van: azt nem mondtam, hogy létezhet üres cella is és akkor zérosztóra módosul függvény értéke!
HA függvénnyel viszont én legalább is nem tudom megadni, hogy hagyja békén az üreseket, mert egy egész tartományt érint!Ilyenkor mit tudok tenni?
Köszi
Spóroljunk! Kerül, amibe kerül!
-
Delila_1
Topikgazda
Ilyenkor zéróosztó eredményt kapsz.
Csinálj speciális- (régebbi verziókban irányított) szűrést, jelöld be a "Csak az egyedi rekordok megjelenítése" négyzetet. Az F2 képlete =DARAB2(D2:D7)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
spe88
senior tag
válasz Delila_1 #28333 üzenetére
Köszi így működik!
Már nem látok ki a számokból lehet tudom a kézenfekvő megoldást, de msot nem jut eszembe, szóval:
Még egy kérdés:
01202012
85465465
85465465
85423465
9654984Q
93218756
9654984Q
278456PP
312354ZS
278456PP
273536PP
312354ZS
3122341S
85423465
85423466Adott az adattömb, hogy tudom megszámoltatni vele, azokat a cellákat, aminek a szövege 2-vel vagy 3-mal kezdődik! Ami többször fordul elő azt csak egyszer számolja meg!
Tehát ennek az eredmény ez lenne: 4
Szűrés nélkül megoldható ez?
Köszi
Spóroljunk! Kerül, amibe kerül!
-
Delila_1
Topikgazda
válasz tzimash #28336 üzenetére
Tettem fel egy fájlt, amiben egy makró teszi át az első lapról a jó tételeket a másodikra.
Az autoszűrő sajnos csak bizonyos határig működik.
Nem lesz túl gyors, mert soronként kell ellenőriznie a D oszlop tartalmát.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz Delila_1 #28337 üzenetére
Szia!
Milyen korlátait tapasztaltad az autodszűrőnek? Mert én még nem találkoztam vele.
Másrészt viszont a speciális szűrés kifejezetten megfelel ennek a célnak is.
Pl. az Eredeti munkalap M1 cellájába Kód, M2 cellájába *J* kerül.
Ezután egyetlen sor:
Sheets("Eredeti").Range("A1:I30").AdvancedFilter Action:=xlFilterCopy, criteriarange:=Sheets("Eredeti").Range("M1:M2"), copytorange:=Sheets("Jó").Range("A1:I1")átmásolja a kívánt értékeket a Jó munkalapra.
De a Jó munkalapra átváltva - az Adatok - Speciális kiválasztása után megjelenő párbeszéd ablakot a fentieknek megfelelően kitöltve makró nélkül is megy a dolog.
Üdv.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz Fferi50 #28338 üzenetére
Régebbi verziókban az autoszűrő 1000 sorig szűrt, a kérdező 300k-jánál megbukott.
Ezen felül gombnyomásra szeretné elvégezni a szortírozást, az eredeti lapon meg csak a nem jó tételeknek kell megmaradniuk.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mittu88
senior tag
Azt meg lehet csinálni, hogy az alábbi gantt diagramon az azonos adatok az Y tengelyen azonos sorban legyenek?
-
Raizer001
csendes tag
Sziasztok,
volna egy kérdésem, az excelbe van-e olyan lehetőség, hogy a helyesírás-ellenőrző egy cellát figyelmen kívül hagy. 1 külföldi nevet mindig átírja és ezért kellene azt az egy cellát figyelmen kívül hagyni.
előre is köszönöm
Bálint
[ Szerkesztve ]
-
tzimash
őstag
válasz Delila_1 #28337 üzenetére
Kicsit tényleg lassú így, de lehet nem is kell külön szednem a két adatot. Így talán pörgősebb lesz.
Ez a kódodból egy részlet, kicsit változtattam rajta.For sor = usor To 2 Step -1
If InStr(Cells(sor, "D"), "MD0") > 0 Then
Rows(sor).Delete Shift:=xlUp
End If
NextHogyan kellene még megváltoztatnom, hogy csak olyan "MD0"-át tartalmazó sorokat töröljön, amelyeknek "F" oszlopban az értéke "7200", ahol ez az érték más, azt hagyja meg?
-
tzimash
őstag
válasz szatocs1981 #28344 üzenetére
Köszi!
-
sedyke
tag
Sziasztok!
Akár Pivotban, akár képlettel lehetséges az, hogy mondjuk összegezzük a napi bevételt egy cellában, egy másikban pedig felsorolná az összesített értékhez tartozó értékeket?
Pl.
01/09 termék1 500,00Ft
01/09 termék2 350,00Ft
01/09 termék3 500,00Ftés az összesítő táblazatomban úgy szerepelne, hogy
01/09 1350,50 Ft termék1, termék2, termék3?
A termékek egy cellában felsorolva... -
szatocs1981
aktív tag
szvsz, mert az "A" bezavarja. Mivel van benne egy betü, így már csak alfabetikus sorrendben lehet szürni, numerikus helyett.
2 lehetöséged van, hogy jó legyen:
a) kiveszed az "A" betüt
b) kiegészíted az összes számot pl. 4 jegyüre: A0001,....,A0105, ....,A2111[ Szerkesztve ]
-
cekkk
veterán
válasz szatocs1981 #28348 üzenetére
Akkor érdemes lenne mondjuk az "A" kicserélni egy 9-esre esetleg?
Valamivel meg kellene különböztetnem őket egymástól.Van valami módszer amivel lelehet vágni az első karaktert és úgy kivenni az A betűt?
Köszönöm a segítséged.
[ Szerkesztve ]