Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- gerner1
- sziku69: Szólánc.
- D@reeo: OlvasóMester - vágólap felolvasó alkalmazás
- Ndruu: Segíts kereshetővé tenni a PH-s arcképeket!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- hcl: GPT diszk kisebbre klónozása
- Meggyi001: Áram nélkül....méltóság nélkül.....
-
LOGOUT
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
-
Fferi50
Topikgazda
válasz
mulli86
#44095
üzenetére
Szia!
Próbáld ki ezt a makrót légy szíves:Sub rendezo()Dim sh1 As Worksheet, sh2 As Worksheet, cl As Range, cl2 As Range, xo As Byte, xu As Long, sh3 As Worksheet, x As Integer, oszlop, drb As Long, ido As DateApplication.ScreenUpdating = FalseSet sh1 = Sheets("hiba_kod")Set sh2 = Munka2 'Most ez az adatok munkalapja Névvel is hivatkozhatsz rá, nekem túl hosszú volt.Set sh3 = Worksheets.Add(after:=Sheets(1))sh3.Name = "hiba"sh3.Cells(1, 1).Value = "Teszt"xu = 3: xo = sh2.UsedRange.Rows(5).Columns.Countsh2.UsedRange.Rows(5).Copy Destination:=sh3.Cells(2, 1)ido = Time()For Each cl In sh1.UsedRange.Rows(1).Cells ' a hiba-kódok listájaApplication.StatusBar = cl.Valueoszlop = Application.Match(cl.Value, sh2.Rows(5), 0)'melyik oszlopban van?If Not IsError(oszlop) Thenx = 1 'végig megyünk a hibakódok értékeinDodrb = Application.CountIf(sh2.Columns(oszlop), cl.Offset(x, 0)) 'hány hibás tétel vanSet cl2 = sh2.Cells(1, oszlop)Do While drb > 0Set cl2 = sh2.UsedRange.Columns(oszlop).Find(what:=cl.Offset(x, 0).Value, LookIn:=xlValues, Lookat:=xlWhole, after:=cl2)If Not cl2 Is Nothing ThenIf sh2.Cells(cl2.Row, xo + 2).Value <> "x" Then 'ha még nincs másolvash2.UsedRange.Rows(cl2.Row).Copy Destination:=sh3.Range("A" & xu) 'másoljuksh2.Cells(cl2.Row, xo + 2).Value = "x" 'és jelöljük a másolástxu = xu + 1End Ifdrb = drb - 1End IfLoopx = x + 1Loop While cl.Offset(x, 0) <> ""End IfDoEventsNextApplication.ScreenUpdating = TrueApplication.StatusBar = FalseMsgBox "Futási idő indulás: " & Format(ido, "hh:mm:ss") & " vége:" & Format(Time(), "hh:mm:ss")End SubMit csinál?
A hiba-kod munkalapon levő kódokon megy végig. Megszámolja, hogy az adatok között az adott oszlopban hány hibás tétel fordul elő. Ezeket átmásolja. Mivel egy sorban több hiba is lehet, a duplázás elkerülése érdekében az átmásolt sor végére tesz egy x-et.
A végén pedig kiírja, mikor indult és mikor fejezte be.
Ha túl hosszúra nyúlna az idő akkor Ctrl+Break megállítja (ezért van benne a DoEvents sor. Ekkor az éppen aktuális sornál megáll. Meg lehet nézni az eredményt és leállítani vagy folytatni, ahogyan éppen szeretnéd.
Remélem, nem lesz túl lassú.
Ha ismételten tesztelsz, ne felejtsd el az x-es oszlopot törölni!
Üdv.
Új hozzászólás Aktív témák
- Hosszú premier előzetest kapott az Arknights: Endfield
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Fejhallgató erősítő és DAC topik
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Autós topik
- Napelem
- 5.1, 7.1 és gamer fejhallgatók
- Túl jól fogy az S26, túlóráznia kell a gyártósoroknak
- A fényes siker is lehet szög a koporsóban: gondban a MacBook Neo gyártása
- Facebook és Messenger
- További aktív témák...
- AKCIÓ! Gigabyte RX 7900XTX Gaming OC 24GB videokártya garanciával hibátlan működéssel
- GAMER PC! Intel Ultra 7 265 / RTX 5070 / 32GB 6000MHz / 1TB Gen4 / 750w Gold!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Apple iPad 5. generáció (A1822) 128GB, asztroszürke
- MacBook Pro 16" M3 Pro 36 GB RAM, 512GB SSD, Space Black - 27% ÁFA (0431AB)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50