Laufzeitfehler 9
27.03.2025 12:30:35
Georg
Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs
Der Fehler taucht hier auf:
If arrGI(i, 1) = arrB(j, 1) Then ' Vergleich von G und B
ich verstehe nicht warum. Danke für eure Hilfe
Hier die Beispielsdatei
https://www.herber.de/bbs/user/176451.xlsm
Sub VergleicheUndSchreibeAngepasst()
Dim ws As Worksheet
Dim lastRowB As Long, lastRowG As Long
Dim arrB() As Variant, arrGI() As Variant
Dim i As Long, j As Long
' Arbeitsblatt festlegen
Set ws = ThisWorkbook.Worksheets("AbgleichGeneral") 'AbgleichUser_vs_Personalliste
' Letzte Zeilen in den jeweiligen Spalten ermitteln
lastRowB = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row
lastRowG = ws.Cells(ws.Rows.Count, 7).End(xlUp).Row
' Dynamische Arrays füllen
arrB = ws.Range("B9:D" & lastRowB).Value ' Bereich für B bis D
arrGI = ws.Range("G9:I" & lastRowG).Value ' Bereich für G bis I
' Werte vergleichen und Ergebnisse schreiben
For i = 9 To lastRowG ' Schleife für jede Zeile in Spalte G
For j = 9 To lastRowB ' Schleife für jede Zeile in Spalte B
If arrGI(i, 1) = arrB(j, 1) Then ' Vergleich von G und B
arrGI(i, 3) = arrB(j, 3) ' Wert aus Spalte D in Spalte I schreiben
Exit For ' Schleife abbrechen, wenn Übereinstimmung gefunden
End If
Next j
Next i
' Ergebnisse zurückschreiben
ws.Range("G9:I" & lastRowG).Value = arrGI
End Sub
Anzeige