Egymásba ágyazott do loop, csak első rekordot csinálja meg a 2. do until
2021-09-01T09:15:55+02:00
2021-09-01T16:27:19+02:00
2022-08-12T04:20:30+02:00
Dates1
az alábbi kóddal van problémám.

Arról van szó, hogy egy hd sheet ahonnan átmásolok neveket a Munka1 sheetre, és ezeket a neveket bizonyos feltélelhez kötve megszámolom. Az első do loop megcsinálja azt amit várok tőle.
A második do loop egyrekordot megy, utána leáll, próbáltam már mindent. Próbáltam helyettesíteni for ciklussal is azzal sem volt teljesen jó. A hivatkozott táblákba és cellába ezer százalék, hogy van tartalom tehát nem üres. 
Azért is érdekes mert a második do loop teljesen ugyanaz mint az első do loop és mégsem működik úgy ahogy az első.
Valaki tudna segíteni ebben, hogy lehetne egyszerűen ezt megoldani?
Próbáltam do whilelal hátha azzal máshogy csinál valamit de ugyanez.

Do Until Worksheets("hd").Cells(x, 4).Value = Empty Dolgozo = Worksheets("hd").Cells(x, 4).Value Worksheets("Munka1").Cells(y, 1) = D Do Until Worksheets("e1").Cells(z, 6).Value = Empty If D = Worksheets("e1").Cells(ex, 8).Value Then g = g + 1 End If ex = ex + 1 z = z + 1 Loop Worksheets("Munka1").Cells(u, 2) = g 'Ultetes = 0 x = x + 1 y = y + 1 u = u + 1 Loop End Sub
Mutasd a teljes hozzászólást!
Ha a z-nek mindig egytől kell indulnia az első üres celláig....
Akkor a második ciklus kezdete elött közvetlenül kapjon értéket a z és ne a fő ciklus kezdete elött.
Mutasd a teljes hozzászólást!

  • Szia!

     A "z" nevű számláló változó hol kap kezdő értéket?
    A fő ciklus lefut, ezen belül van egy másik ciklus...
    Ebben használod a "z" nevű változót.
    Nem látom hogy ez minden "al" ciklus elött kapna kezdő értéket...
    Ugyanez igaz az ex nevű változóra is.

    Egy sima debug futtatással ha néznéd a z értékét lépésenként egyből látnád hol a probléma.
    Vagy tegyél bele egy msgbox-ot a második loop elé és irasd ki a z értékét..
    Látni fogod mi a gond.
    A második(belső) ciklus végigfut első alkalommal amíg nem talál egy üres cellát...
    A többi futás már mindig ezzel az üres cellával kezd (mivel a z értéke nem változik )és mivel ez a kilépési feltétel ki is lép (nem fog csinálni semmit.)
    Mutasd a teljes hozzászólást!
  • szia, köszi a választ.

    z változó cikluson kívül kap értéket, elnézést, hogy azt nem másoltam bele, de majd ránézek ebből a nézőpontból is amit írtál.
    Mutasd a teljes hozzászólást!
  • Ha a z-nek mindig egytől kell indulnia az első üres celláig....
    Akkor a második ciklus kezdete elött közvetlenül kapjon értéket a z és ne a fő ciklus kezdete elött.
    Mutasd a teljes hozzászólást!
abcd