Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Tabellenblatt anlegen falls nicht vorhanden | Herbers Excel-Forum


Betrifft: Tabellenblatt anlegen falls nicht vorhanden von: Mister-B
Geschrieben am: 21.07.2012 10:39:16

Guten Morgen,

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

  

Betrifft: AW: Tabellenblatt anlegen falls nicht vorhanden von: Hajo_Zi
Geschrieben am: 21.07.2012 10:49:03

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

GrußformelHomepage


  

Betrifft: AW: Tabellenblatt anlegen falls nicht vorhanden von: Mister-B
Geschrieben am: 21.07.2012 11:00:03

Hallo Hajo,

deine Antwort ist wie immer perfekt.

Danke und ein schönes Wochenende.

Gruß
Martin


  

Betrifft: AW: Tabellenblatt anlegen falls nicht vorhanden von: Hajo_Zi
Geschrieben am: 21.07.2012 11:12:30

Hallo Martin,

es gibt mehrere Lösungen. Kürzer wäre Fehler auslösen. Das lehne ich aber ab.

Gruß Hajo


  

Betrifft: hier noch eine andere Variante ... von: Matthias L
Geschrieben am: 21.07.2012 11:19:52

Hallo

Du brauchst dringend eine Fehlerroutine wg. möglicher ungültiger Zeichen z.B /
Hajos Code liefe dann auf einen VBA-Fehler

Ich war auch am basteln.
Kannst ja mal testen.
https://www.herber.de/bbs/user/81111.xlsm

Der Code:

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ß Matthias


  

Betrifft: AW: hier noch eine andere Variante ... von: Hajo_Zi
Geschrieben am: 21.07.2012 11:22:48

Hallo Matthias,

das kann man ja über Daten Gültigkeit machen, davon bin ich ausgegangen.

Gruß Hajo


  

Betrifft: klar ... aber wer macht das schon ;-) owT von: Matthias L
Geschrieben am: 21.07.2012 11:26:36




Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt anlegen falls nicht vorhanden"