Zellbereiche in mehrern Sheets
20.05.2020 10:16:30
Rainer
folgende Prozedur verursacht die Fehlermeldung
Laufzeitfehler 1004: die Methode 'Range' für das Objekt_'Worksheet' ist fehlgeschlagen.
Sub Zellbereiche_in_mehreren_Blättern_ansprechen()
Dim a As Byte
Dim objBlatt As Worksheet
Dim nS As Byte
Dim Z As Byte
For a = 2 To 6
Set objBlatt = ThisWorkbook.Sheets(a)
With objBlatt
nS = .UsedRange.Columns.Count
For Z = 5 To 8
.Range(Cells(Z, 2), Cells(Z, nS)).Value = "mpf"
Next Z
End With
Next a
Set objBlatt = Nothing
End Sub
Laut Debugger ist .Range(Cells(Z, 2), Cells(Z, nS)).Value = "mpf"
die Fehler verursachende Zeile. Ich habe auch versucht das Blatt als 'Objekt' zu deklarieren statt 'Worksheet', geht aber auch nicht. Auch die Versuche den Zellbereich als 'Range' zu deklarieren funktioniert nicht.
Kann mir bitte jemand erklären was ich nicht verstanden habe und die Prozedur bitte so umbauen, dass sie funktioniert. Vielen Dank schon mal.
Noch ein Hinweis. Der Fehler muss mit der Schleife 'For a = 2 to 6' zu tun haben. Lasse ich diese Schleife weg und wende die Prozedur auf einem bestimmten Sheet an, funktionierts. Aufgefallen ist mir auch, dass die Variable 'nS' (gibt die Anzahl der Spalten wieder) zur Zeit der Fehlermeldung den richtigen Wert hat. 'objBlatt As Worksheet' ist dann nicht das Problem?
LG Rainer H.