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

  • Delila_1
    veterán
    válasz dtpeter üzenetére #5737

    Sub ErtekKiiro()
    Dim szamok, CV, KivonatSor, KovKotSor As Long
    szamok = Array(270, 47, 393, 108, 406, 48, 328, 116, 7, 260)
    KovKotSor = 1

    For Each CV In szamok
    For KivonatSor = 2 To ActiveSheet.UsedRange.Rows.Count
    If Cells(KivonatSor, 1) = CV And Cells(KivonatSor, 5) <> 0 Then
    Cells(KovKotSor, 19) = CV
    Cells(KovKotSor, 20) = Cells(KivonatSor, 2)
    Cells(KovKotSor, 21) = Cells(KivonatSor, 5)
    KovKotSor = KovKotSor + 1
    End If
    Next
    Next
    End Sub

    A For Each-hez kell annyi magyarázat, hogy ez egy különleges ciklus. Ezzel nem kell két For-Next ciklust egymásba ágyazni, mert végiglép a megadott területen egyesével (sor, oszlop sorrendben), és a ciklusváltozó – jelen esetben CV – mindig felveszi az aktuális cella értékét.
    A .Value értéket nem kell feltétlenül beírni [Cells(KovKotSor, 20) = Cells(KivonatSor, 2)], mert ez az alapérték.

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