Herbers Excel-Forum - das Archiv
Tabelle anlegen
Betrifft: Tabelle anlegen
von: Nick
Geschrieben am: 06.10.2003 11:50:43
Hi,
hab folgendes Problem und zwar möchte ich in einer Arbeitsmappe mit einer Schleife die Tabellennamen überprüfen. Und wenn die Tabelle mit dem aktuellen Monatsname nicht vorhanden ist soll diese erstellt werden doch er gib immer folgende Fehlermeldun: "Laufzeitfehler '1004' Die Methode 'Add' für das Objekt 'Sheets' ist fehlgeschlagen. Hoffe es kann mir einer weiter helfen.
Sub Tabellenprüfen()
Dim i As Integer
Dim d As Integer
d = Month(Date)
For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name = MonthName(d) Then
Worksheets(i).Activate
Else
Worksheets.Add
ActiveSheet.Name = MonthName(d)
End If
Next i
End Sub
Schon einmal in Voraus Danke
Gruß
Nick
Betrifft: AW: Tabelle anlegen
von: RainerW
Geschrieben am: 06.10.2003 12:12:09
Hallo Nick,
es darf keine zwei Tabellen mit demselben Namen geben, deshalb:
Sub Tabellenprüfen()
Dim i As Integer
Dim d As Integer
d = Month(Date)
For i = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(i).Name = MonthName(d) Then
Worksheets(i).Activate
Else
Worksheets.Add
ActiveSheet.Name = MonthName(d)
Exit For ' das war's
End If
Next i
End Sub
Gruß
Rainer
Betrifft: Danke
von: Nick
Geschrieben am: 06.10.2003 12:16:33
Hi RainerW,
vielen Dank funktioniert prima
Gruß
Nick
Betrifft: AW: Tabelle anlegen
von: Galenzo
Geschrieben am: 06.10.2003 12:17:24
Hallo,
hier mein Vorschlag - ein Tabellenblatt mit dem Namen das Aktuellen Monats wird erzeugt und anschließend aktiviert. Sollte bei der Erzeugung ein Fehler auftreten, dann heißt dies, daß es schon ein Tabellenblatt mit gleichem namen gibt - in diesem Falle wird die Erzeugung übersprungen und dieses (schon vorhandene) Tabellenblatt aktiviert.
Private Sub MonatsblattNeu()
Dim str As String
str = Format(Date, "mmm")
Worksheets.Add after:=Worksheets(Worksheets.Count)
On Error Resume Next
ActiveSheet.Name = str
Worksheets(str).Select
End Sub
Viel Erfolg und Gutes Gelingen!