Hallo
unter Excel 2010 habe ich ein Makro, welches Inhalte aus 26 Tabellenblättern löschen soll. Dazu zähle ich vorher, wieviel Zeilen (ab Zeile 6) Inhalte haben.
Der Code ist:
For m = 6 To Anz - 2 'ab Tabellenblatt „10“ bis Blatt inkl. Blatt „99“
'Ermitteln der letzten Textzeile
i = 6
While Not IsEmpty(Sheets(m).Cells(i, 1))
i = i + 1
Wend
Sheets(m).Range(„A6:H“ & i).Select
If Sheets(m).Name = „99“ Then Sheets(m).Range(„A7:H“ & i).Select
Selection.ClearContents 'Inhalt des Tabellenblattes ist gelöscht
Next m 'Inhalte aller Tabellenblätter gelöscht
Bei der Select-Anweisung Sheets(m).Range(…) meckert das Programm, der Select-Befehl könne nicht ausgeführt werden.
Ändere ich den Befehl um in
Sheets(m).Select
Range(„A6:H“ & i).Select
dann funktioniert es! ABER: wenn das Tabellenblatt „99“ heißt, dann soll ab A7 selektiert werden. Dort steht die gleiche Anweisung (nur mit A7), dort meckert das Programm nicht, sondern führt den Befehl aus.
Was habe ich falsch gemacht?
Gruß
Pauli