Hirdetés

Új hozzászólás Aktív témák

  • dtpeter

    csendes tag

    Sziasztok! Segítségre, és ha van megoldás a problémámra, akkor szájbarágós magyarázatra lenne szükségem, mert még csak most ismerkedek a visual basic-kel, és úgy általában a programozással is.

    Szóval van egy adattáblám, amiben olyan sorokat keresek, ahol az A oszlop adata megegyezik egy bizonyos keresett értékkel, és az E oszlop adata nem nulla. Ha ilyent talál, akkor az A, a B, és az E oszlop adatait szeretném kigyűjtetni egy új táblázatba. Ezt még sikerült is megoldani, a gondom ott kezdődik, hogy utána meg egy másik értéket kellene keresni (elég össze-vissza számokra, tehát nem egymást követő számokról van szó), és ugyanezt a feladatot végrehajtani. És ezek után még vagy 10 másik számmal eljátszani ezt az egészet... Egyelőre itt tartok, itt pl. a 311-es számra keresünk:

    Sub ErtekKiiro()

    Dim KivonatSor As Integer, KovKotSor As Integer

    KovKotSor = 2

    For KivonatSor = 2 To ActiveSheet.UsedRange.Rows.Count
    If Cells(KivonatSor, 1).Value = "311" And Cells(KivonatSor, 5) <> 0 Then
    Cells(KovKotSor, 19).Value = Cells(KivonatSor, 1).Value
    Cells(KovKotSor, 20).Value = Cells(KivonatSor, 2).Value
    Cells(KovKotSor, 21).Value = Cells(KivonatSor, 5).Value
    KovKotSor = KovKotSor + 1
    End If
    Next KivonatSor

    End Sub

    A kérdésem az lenne, hogy van-e erre valami elegáns megoldás, vagy tényleg 10-12 ilyen For-Next ciklust kell egymás után elhelyeznem? Illetve gondoltam még arra is, hogy a keresett értékeket kiírom egymás alá egy külön lapra, és a feltételnél egy másik For-Next ciklussal (azaz egymásba ágyazott ciklusokkal), végiglépkedek ezeken a cellákon. De ha van rá mód, akkor jobban szeretném az egészet kódból megcsinálni.

    Olvastam valami tömbökről, esetleg az lehet a megoldás, de nem tudom, hogy pontosan hogy nézne ki a gyakorlatban a dolog.

    Előre is köszönöm a segítséget!

Új hozzászólás Aktív témák