Hallo Leute,
ich bin im Internet auf folgendes Makro gestoßen, das ich gerne verwenden würde:
Sub NeuesBlatt()
Dim wks As Worksheet
Dim nme As Name
Dim iNme As Integer
Dim sNme As String
For Each nme In ThisWorkbook.Names
sNme = Right(nme.Name, 3)
If Len(sNme) = 3 And IsNumeric(sNme) Then
If CInt(sNme) > iNme Then
iNme = CInt(sNme)
End If
End If
Next nme
With ThisWorkbook
.Worksheets("Muster").Copy after:=.Worksheets(.Worksheets.Count)
End With
ActiveSheet.Name = "A" & Format(iNme + 1, "000")
Set nme = ActiveWorkbook.Names.Add( _
Name:="WKS" & Format(iNme + 1, "000"), _
RefersTo:=Range("A1"), _
Visible:=False)
End Sub
Quelle: http://www.herber.de/mailing/Tabellenblatt_kopieren_und_dreistellig_fortlaufend_numerieren.htm
Es geht darum, ein Muster-Tabellenblatt zu kopieren, ans Ende zu setzen und fortlaufend, dreistellig durchzunummerieren. Wenn ich aber den VBA-Code in mein gewünschtes Modul in einer anderen Excel-Datei kopiere und das Makro laufen lasse, erstellt er zwar wie gewünscht das nachfolgende Tabellenblatt, aber es kommt der Lauftzeitfehler '1004', dass der Name ungültig sei. Das Tabellenblatt hab ich wie im Makro beschrieben, auf "Muster" unbenannt (natürlich ohne die Anführungszeichen). Selbst wenn ich ein leeres Excel Dokument öffne und das Makro durchführe, erscheint dieselbe Fehlermeldung.
Die Datei zum Download auf der Seite funktioniert jedoch einwandfrei; die Fehlermeldung erscheint nicht, wenn ich das Makro ausführe.
Danke für eure Hilfe,
Fabian
|