Im folgenden Makro wird eine anderes Worbook aufgerufen und in 30 Sheets sollen bestimmte, nicht zusammnen hängende Bereiche gelöscht werden (Makro: Stueck_Marker", die keine Formel enthalten. Das funktioniert bis Sheet "VeraV03" perfekt. Ab dem Sheet "VeraV04" geht es nicht mehr und das Makro ist beendet mit dem Fehlerhinweis:
"Laufzeitfehler '9':, Index außerhalb des gültigen Bereichs. Mit Button "Debuggen" aktiviert".
Was ist falsch an dem Makro?
'Teile übernommen, aus Makro: Herber's Forum, von Erich G., 02.10.2012 21:05:02
'Werte im Bereich löschen, OHNE Formeln zu löschen
Sub Stueckloeschen_MG()
Workbooks.Open Filename:="C:\Mx\Mg-2016.xlsm"
Sheets("VeraBsV01").Activate 'Tab aktivieren
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
Dim raZelle As Range 'Nur 1x angeben, am Anfang des Makros
Call Stueck_Marker 'Aufruf für Markierungsbereich
Sheets("VeraV02").Activate
Call Stueck_Marker 'Aktivierung der Stück-Zellen im Tab
Sheets("VeraV03").Activate
Call Stueck_Marker
Sheets("VeraV04").Activate 'Ab hier passiert nicht mehr
Call Stueck_Marker
Sheets("VeraV05").Activate
Call Stueck_Marker
Sheets("VeraV06").Activate
Call Stueck_Marker
Sheets("VeraV07").Activate
Call Stueck_Marker
Sheets("VeraV08").Activate
Call Stueck_Marker
Sheets("VeraV09").Activate
Call Stueck_Marker
Sheets("VeraV10").Activate
Call Stueck_Marker
Sheets("VeraV11").Activate
Call Stueck_Marker
Sheets("VeraV12").Activate
Call Stueck_Marker
Sheets("VeraV13").Activate
Call Stueck_Marker
Sheets("VeraV14").Activate
Call Stueck_Marker
Sheets("VeraV15").Activate
Call Stueck_Marker
Sheets("VeraV16").Activate
Call Stueck_Marker
Sheets("VeraV17").Activate
Call Stueck_Marker
Sheets("VeraV18").Activate
Call Stueck_Marker
Sheets("VeraV19").Activate
Call Stueck_Marker
Sheets("VeraV20").Activate
Call Stueck_Marker
Sheets("VeraV21").Activate
Call Stueck_Marker
Sheets("VeraV22").Activate
Call Stueck_Marker
Sheets("VeraV23").Activate
Call Stueck_Marker
Sheets("VeraV24").Activate
Call Stueck_Marker
Sheets("VeraV25").Activate
Call Stueck_Marker
Sheets("VeraV26").Activate
Call Stueck_Marker
Sheets("VeraV27").Activate
Call Stueck_Marker
Sheets("VeraV28").Activate
Call Stueck_Marker
Sheets("VeraV29").Activate
Call Stueck_Marker
Sheets("VeraV30").Activate
Call Stueck_Marker
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub
'
Sub Stueck_Marker
()
Dim raZelle As Range
'Löschbereich
For Each raZelle In ActiveSheet.Range _
("B16:L45,B49:L77,B81:L111,B115:L144,B148:L178,B182:L211,B215:L245," _
& "B249:L279,B283:L312,B316:L346,350:379,B383:L413")
If Not (IsEmpty(raZelle) Or raZelle.HasFormula) Then
If raZelle.MergeCells Then
If raZelle.Address = raZelle.MergeArea(1).Address Then _
raZelle.MergeArea.ClearContents
Else
raZelle.ClearContents
End If
End If
Next raZelle
Range("A2").Select 'Markierung aufheben
End Sub
Mit der Bitte um Hilfe.
Gruß,
Dieter(Drummer)