Hallo Kerstin,
du benutzt hier eine With - End With Klammer. Da musst du darauf achten, dass bei allen Range-Objekten (Range, Cells) innerhalb dieser Klammer ein Punkt vor den Range-Objekten steht (also .Range und .Cells). Nur so wird korrekt auf das in der With Klammer angegebene Tabellenblatt korrekt referenziert.
Zudem benutzt du VBA-Schlüsselwörter (Row, Column) als Variablennamen. Das sollte man unterlassen, weil es zu Problemen führen kann. Deine Variablennamen habe ich deshalb abgeändert auf lRow und lColumn.
Teste mal:
Sub intro_sust()
Dim lZeile As Long
Dim lColumn As Long, lRow As Long
Dim Rg As Range, myRange As Range, RgValues As Range
Dim x As Single
'search numbers (not empty not text)
With ActiveSheet
lRow = .Range([A1], .UsedRange).Rows.Count
lColumn = .Range([A1], .UsedRange).Columns.Count
Set myRange = .Range([A1], .Cells(lRow, lColumn))
For lZeile = 8 To 10 Step 1
If (.Cells(lZeile, 4) <> "") And Not (.Cells(lZeile, 1) = "Nº Artículo") Then
.Cells(lZeile, 13) = WorksheetFunction.VLookup(.Cells(lZeile, 1) _
, Workbooks("Articulos_Sustituo_Fecha_ret_170828.xlsm").Worksheets("Export").Range("A:E"), 3, False)
On Error Resume Next
End If
Next lZeile
End With
End Sub
Gruß Werner
|