Hirdetés

Keresés

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

  • m.zmrzlina

    senior tag

    válasz irodakukac #29588 üzenetére

    Az én egyik munkafüzetemben egy nagyon hasonló feladatot a következő pár sor oldja meg. Ebben a formájában csak gondolatébresztő, egy az egyben nyilván nálad nem használható /még csak azt sem állítom, hogy hibátlan/.

    Dim arr_Analist()
    Dim arr_Digilist()
    Dim int_Hibakszama As Integer
    Dim str_Hibahely As String
    Dim intI As Integer

    ' egyik listát tömbbe ír
    arr_Analist() = ws_Kabelo.range(Cells(2, 1), Cells(int_usor, 1))
    ' másik listát tömbbe ír
    arr_Digilist() = ws_Kabelo.range(Cells(2, int_uoszlop + 1), Cells(int_usor, int_uoszlop + 1))

    'ciklus 1-től a tömb végéig(nálam ugyanannyi elemből áll a két tömb
    For intI = 1 To UBound(arr_Analist)
    'ha a két tömbelem nem egyezik akkor
    If Trim(arr_Analist(intI, 1)) <> Trim(arr_Digilist(intI, 1)) Then
    'változó értékét növeli
    int_Hibakszama = int_Hibakszama + 1
    'megjegyzi hanyadik sorban van a különbség
    str_Hibahely = str_Hibahely & intI + 1 & ".sor, "
    End If
    Next

    'ha talált hibát kiírja, hogy mennyit és mely sorokban
    If int_Hibakszama > 0 Then
    MsgBox "Összesen " & int_Hibakszama & " különbség a következő helye(ke)n: " & str_Hibahely
    Else
    'egyébként mindenki örül :-)
    MsgBox "A kétlista azonos."
    ws_Script.Activate
    End If

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