Dein Code ist falsch, und das soll funktionieren?
Set rngDatenexport = .Range("A2", .Cells(.Rows.Count, "A").End(xlUp)) 'Die Range "A2" bis letzte Zeile in Spalte "A"
' schreib:
Set rngDatenexport = .Range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).row) 'Die Range "A2" bis letzte Zeile in Spalte "A"
.Cells(.Rows.Count, "A").End(xlUp) ergibt den Inhalt der Zelle, nicht die Zeilenzahl.
Sub suchen()
Dim rngDatenexportNr As Excel.Range
Dim rngDokumentationNr As Excel.Range
Dim Suchwert As Range
Dim Gefunden As Variant
Dim ZZeile As Long
Dim QZeile As Long
Dim QletzteZeile As Long
Dim SuchZeile As Long
Dim ZName As String
'Meldungsnummern im Datenexport
With Worksheets("QNamesim") ' Mit der Quelldatei, Quellsheet
i = .Cells(.Rows.Count, "A").End(xlUp).Row
Set rngDatenexport = .Range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).Row) 'Die Range "A2" bis letzte Zeile in Spalte "A"
' Set rngDatenexport = .Range("A2", .Cells(.Rows.Count, "A").End(xlUp)) 'Die Range "A2" bis letzte Zeile in Spalte "A"
End With
For Each Suchwert In rngDatenexport.Cells ' Da setzt man die Range in einzelne Zellen um
QRB = 1
Debug.Print QRB
Nochmal:
SuchZeile = Suchwert.Row
DoEvents
Debug.Print Cells(SuchZeile, QRB).Value
Teilname = Cells(SuchZeile, QRB).Value
ZName = Teilname & ".xlsm"
DoEvents
If ZName = ".xlsm" Then
GoTo Nochmal
End If
Next
'Meldungsnummern im Zielsheet (Ändert sich bei jedem Durchlauf)
With Workbooks(ZName).Worksheets(ZSheet) ' mit der Zieldatei, Zielsheet
Set rngDokumentation = .Range("C3", .Cells(.Rows.Count, "C").End(xlUp)) 'Die Range "C3" bis letzte Zeile in Spalte "C"
End With
Gefunden = Application.Match(Suchwert, rngDokumentation, 0)
|