Laufzeitfehler 1004 ActiveSheet.Name Array..
05.06.2013 13:03:37
Philip
Habe folgenden Code:
Option Explicit
Sub Stellplatz()
Dim i As Integer
Dim intTab As Integer
Dim k As Long, n As Long
Dim L As Long
Dim P As Long
Const Blatt1 = "Saldo-Datenblatt"
Const Blatt2 = "Berechnung1"
Const Blatt3 = "Berechnung2"
Const Reihen As Integer = 3
i = MsgBox _
("Möchten Sie den Stellplatzplan erstellen?", _
1 + vbQuestion, "Stellplatzplan?")
If i = vbCancel Then Exit Sub
Application.ScreenUpdating = False
ActiveSheet.UsedRange.Cells.UnMerge
Rows("1:2").Delete Shift:=xlUp
For L = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Len(Cells(L, 1).Value) = 0 Then
Rows(L).Delete
End If
Next L
P = Cells.Find("*", searchdirection:=xlPrevious).Row
Range("P2:P" & P).FormulaR1C1 = "=RC[-1]*1"
Range("P:P").NumberFormat = "#,##0.00 [$-1];[Red]-#,##0.00 [$-1]"
For intTab = 0 To 1
Worksheets.Add
ActiveSheet.Name = Array(Blatt2, Blatt3)(i)
Next intTab
Sheets(Blatt1).Range("B:B,C:C,D:D,P:P").Copy Sheets(Blatt2).Cells(1, 1)
Sheets(Blatt1).Visible = False
Application.CutCopyMode = False
With Sheets(Blatt2)
.Columns("D:D").Sort Key1:=.Range("D1"), Order1:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlSortColumns
For k = 2 To .Cells(Rows.Count, 1).End(xlUp).Row Step Reihen
.Cells(k, 1).Resize(Reihen, 4).Copy Sheets(Blatt3).Cells(5, n * 4 + 3)
n = n + 1
Next
End With
End Sub
Bei folgender Stelle wirft mir Excel einen Laufzeitfehler 1004 vor die Füße:
For intTab = 0 To 1
Worksheets.Add
ActiveSheet.Name = Array(Blatt2, Blatt3)(i)
Next intTab
Der Fehler lautet wie folgt:
"Kann einem Blatt nicht den gleichen Namen geben wie einem anderen Blatt, einer Objektbibliothek oder einer Arbeitsmappe, auf die Visual Basic Bezug nimmt."
Ich verstehs nicht ganz, der Befehl definiert doch nur die aktiven Blätter, oder?
Wäre super wenn ihr mir helfen könntet!
LG Philip