wie kann ich mittels VBA ein neues Tabellenblatt anlegen falls es nicht schon vorhanden ist. Der Name der anzulegenden Tabelle ist in A1.
Gruß
amrtin
Option Explicit
Private Sub Aufheben()
Dim WsTabelle As Worksheet
Dim BoVorhanden As Boolean
'* H. Ziplies *
'* 21.07.12 *
'* erstellt von HajoZiplies@web.de *
'* http://Hajo-Excel.de/
For Each WsTabelle In Sheets
If WsTabelle.Name = Range("A1") Then
BoVorhanden = True
End If
Next WsTabelle
If BoVorhanden = False Then
Sheets.Add.Name = Range("A1")
End If
End Sub
Option Explicit
Sub MyNewSheet()
Dim MyName$, x&
MyName = Tabelle1.Range("A1").Text
On Error GoTo ErrExit
For x = 1 To Worksheets.Count
If Worksheets(x).Name = MyName Then
MsgBox "Dieses Blatt existiert schon", vbCritical
Exit Sub
End If
Next
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = MyName
Exit Sub
ErrExit:
MsgBox "es ist ein Fehler augfgetreten evtl. sind ungültige Zeichen im Namen", vbInformation
Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
End Sub
Gruß MatthiasUm ein neues Tabellenblatt in Excel VBA zu erstellen, falls es nicht bereits vorhanden ist, kannst du den folgenden Code verwenden. Dieser Code prüft, ob der Name des neuen Tabellenblatts in Zelle A1 angegeben ist.
Option Explicit
Private Sub Aufheben()
Dim WsTabelle As Worksheet
Dim BoVorhanden As Boolean
For Each WsTabelle In Sheets
If WsTabelle.Name = Range("A1") Then
BoVorhanden = True
End If
Next WsTabelle
If BoVorhanden = False Then
Sheets.Add.Name = Range("A1")
End If
End Sub
Füge diesen Code in ein Modul in deinem VBA-Editor ein. Wenn du das Makro ausführst, wird ein neues Tabellenblatt mit dem Namen aus A1 erstellt, falls es noch nicht existiert.
Fehler 1: "Das Blatt existiert schon"
Wenn du versuchst, ein Tabellenblatt mit einem Namen zu erstellen, der bereits vorhanden ist, wird ein Fehler angezeigt. Um dies zu vermeiden, kannst du eine Fehlerroutine implementieren, wie im folgenden Beispiel:
Option Explicit
Sub MyNewSheet()
Dim MyName As String, x As Integer
MyName = Tabelle1.Range("A1").Text
On Error GoTo ErrExit
For x = 1 To Worksheets.Count
If Worksheets(x).Name = MyName Then
MsgBox "Dieses Blatt existiert schon", vbCritical
Exit Sub
End If
Next
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = MyName
Exit Sub
ErrExit:
MsgBox "Es ist ein Fehler aufgetreten, eventuell sind ungültige Zeichen im Namen", vbInformation
Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
End Sub
Neben dem oben genannten Code gibt es auch andere Möglichkeiten, ein neues Tabellenblatt zu erstellen und zu benennen. Du kannst die Funktion Application.Worksheets.Add verwenden, um ein neues Blatt hinzuzufügen und dann den Namen wie gewünscht festlegen.
Sub NeuesTabellenblatt()
Dim NeuesBlatt As Worksheet
Set NeuesBlatt = Application.Worksheets.Add
NeuesBlatt.Name = "NeuerName" ' Ersetze "NeuerName" durch den gewünschten Namen
End Sub
Hier sind einige praktische Beispiele, wie du ein neues Tabellenblatt in verschiedenen Szenarien erstellen kannst:
Tabellenblatt basierend auf Zelle A1:
Sub BlattErstellen()
If Not Evaluate("ISREF('" & Range("A1").Value & "'!A1)") Then
Sheets.Add.Name = Range("A1").Value
End If
End Sub
Erstellen eines Blattes mit einem Datum im Namen:
Sub BlattMitDatum()
Dim BlattName As String
BlattName = "Daten_" & Format(Date, "YYYY_MM_DD")
If Not Evaluate("ISREF('" & BlattName & "'!A1)") Then
Sheets.Add.Name = BlattName
End If
End Sub
Application.WorksheetFunction.CountIf zur Validierung.1. Wie kann ich ein neues Tabellenblatt ohne VBA erstellen? Du kannst ein neues Tabellenblatt einfach über das Menü "Einfügen" > "Blatt" hinzufügen.
2. Was passiert, wenn der Name des neuen Blattes bereits existiert? Wenn der Name bereits existiert, wird ein Fehler auftreten. Nutze die oben beschriebenen Fehlerbehandlungsmechanismen, um dies zu vermeiden.
3. Funktioniert dieser Code in allen Excel-Versionen? Ja, der bereitgestellte VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen