ich habe ein Problem, dass ich leider nicht verstehe. Ich lasse folgendes Script laufen:
Sub Test()
For z = 1 To 3
For Each s In Array(Spalte01, Spalte02, Spalte03, Spalte04, Spalte05, Spalte06, _
Spalte07)
With Worksheets("Matrix")
If .Cells(z, s).NumberFormat Like Suche Then
Set FindLeer = Range(Cells(1, s), Cells(3, s)).Find(What:="", LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
.Cells(z, s).Clear
.Range(Cells(z + 1, s), Cells(FindLeer.Row - 1, s)).Cut '-> Fehler
Cells(z, s).Select
.Paste
End If
End With
Next s
Next z
End Sub
Wenn ich es vom entsprechenden Tabellenblatt aus laufen lasse, dann funktioniert alles einwandfrei. Wenn ich allerdings es von einem anderen Tabellenblatt aus laufen lasse kommt folgender Fehler in der markierten Zeile:
"Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler"
Wenn ich im Debugmodus allerdings das Script vom Tabellenblatt, welches nicht funktioniert, aus starten lasse und dann ins Tabellenblatt gehe in dem es funktioniert und Schritt für Schrit weitergehe kommt der Fehler nicht. Ich denke also es ist ein Bezugsfehler. Wenn ich bspw. nur Range (ohne Worksheet) nutze dann funktioniert es zwar, aber logischerweise macht er mir da quatsch.
Kann mir jemand helfen?