Clever-Excel-Forum

Normale Version: [Excel] Worksheet
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Den Namen eines Tabellenblatts auslesen


Code:
Sub Tabellenblattname1()
    MsgBox ActiveSheet.Name
End Sub

Code:
Sub Tabellenblattname2()
    MsgBox ActiveSheet.CodeName
End Sub



Abfragen ob ein Tabellenblatt vorhanden ist


Code:
Sub Tabellenname_abfragen()
Dim i As Integer
For i = 1 To Worksheets.Count
    If Worksheets(i).Name = "Break" Then
        Worksheets(i).Activate
        MsgBox Worksheets(i).Name & " ist vorhanden"
    End If
Next
End Sub

Code:
Sub Tabellenname_abfragen2()
Dim WS As Worksheet
For Each WS In Worksheets
    If WS.Name = "Break" Then
        WS.Activate
        MsgBox WS.Name & " ist vorhanden"
    End If
Next WS
End Sub



Existiert Tabellenblatt? Wenn nicht, dann anlegen


Code:
Sub Tabelle_mit_Name_anlegen()
Dim WS As Worksheet
Dim Hinweis As Byte
For Each WS In Worksheets
    If WS.Name = "Break" Then
        WS.Activate
        MsgBox WS.Name & " ist vorhanden"
        Exit Sub
    End If
Next WS
Hinweis = MsgBox("Tabellenblatt existiert nicht. Soll es angelegt werden?", 1, "Hinweis")
If Hinweis = 1 Then
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Break"
End If
End Sub



Mehrere Tabellenblätter gleichzeitig einfügen


Code:
Sub Blaetter_hinzufuegen()
    Dim i As Integer
    i = InputBox("Wie viele Blätter sollen hinzugefügt werden?")
    Do Until i < 1
        Sheets.Add after:=Sheets(3)
        ActiveSheet.Name = "Name " & i
        i = i - 1
    Loop
End Sub



Ein Tabellenblatt soll gelöscht werden


Code:
Sub Tabellenblatt_entfernen()
Dim WS As Worksheet
Dim Hinweis As Byte
Dim StrName As String
StrName = InputBox("Geben Sie den Tabellennamen ein, welchen Sie löschen wollen." _
& Chr(13) & "Achten Sie auf Gross- und Kleinschreibung!")
For Each WS In Worksheets
    If WS.Name = StrName Then
        Hinweis = MsgBox("Möchten Sie das Tabellenblatt " & StrName _
        & " wirklich löschen?", 1, "Achtung")
        If Hinweis = 1 Then
            Application.DisplayAlerts = False
            Worksheets(StrName).Delete
            Application.DisplayAlerts = True
        Else
            Exit Sub
        End If
    End If
Next WS
End Sub

Bei der Eingabe des Tabellenblattnamens muss auf Gross- und Kleinschreibung geachtet werden. Sollte man das Abschalten wollen, so muss oben im Makroeditor "Option Compare Text" stehen.



Tabellenblätter auf verschiedene Weise aus- und einblenden.


a) Einblenden eines ausgeblendeten Tabellenblattes per VBA

Code:
Sub Tabellenblatt_einblenden()
Worksheets("Break").Visible = True
End Sub


b) Einfaches Ausblenden eines Tabellenblattes, welches über „Format“ eingeblendet werden kann.

Code:
Sub Tabellenblatt_ausblenden_1()
Worksheets("Break").Visible = False
End Sub


c) Im Grunde wie bei b)

Code:
Sub Tabellenblatt_ausblenden_2()
Worksheets("Break").Visible = xlHidden
End Sub


d) Ausblenden eines Tabellenblattes, welches nur per VBA wieder eingeblendet werden kann.

Code:
Sub Tabellenblatt_ausblenden_3()
Worksheets("Break").Visible = xlVeryHidden
End Sub



Ist das Tabellenblatt komplett leer?


Code:
Sub Tabellenblatt_leer()
Dim objwks As Worksheet
Set objwks = ActiveWorkbook.Worksheets(1)
With objwks
    If Application.WorksheetFunction.CountA(.Cells) > 0 Then
        MsgBox ("beschrieben")
    Else
        MsgBox ("leere Tabelle erwischt")
    End If
End With
End Sub



Blattschutz setzen und aufheben


Code:
Sub Blattschutz_hin()
ActiveSheet.Protect Password:="Dein Passwort"
End Sub

Sub Blattschutz_weg()
ActiveSheet.Unprotect Password:="Dein Passwort"
End Sub