Existiert dieses Tabellenbatt?

Prüfung, ob es im aktuellen WorkBook ein bestimmtes Arbeitsblatt bereits gibt.

Aus verschiedenen Gründen kann es sinnvoll sein, per Programm (VBA) zu prüfen, ob es in der aktuellen Arbeitsmappe ein bestimmtes Tabellenblatt schon gibt oder nicht. In den meisten Fällen soll es dann angelegt werden oder falls es das schon gibt sollen dort die Inhalte aber nicht die Formatierungen gelöscht werden.

Hier stellen wir Ihnen zwei recht kurze Programme vor, die beide den Zweck erfüllen:

Als Prozedur (oder den Teil innerhalb einer Sub)

Eine Sub (Prozedur) führt immer etwas aus, es wird je nach Sachlage das eine oder andere durch den Code durchgeführt.

Sub GibtEsDasSheet()
   Dim wks As Worksheet
   Dim wksExists As Boolean
   For Each wbk In ActiveWorkbook.Sheets
      If wks.Name = "SuchName" Then
         MsgBox "Arbeitsblatt existiert"
         Exit For
      End If
   Next wbk
   If Not wksExists Then
      'beispielsweise WorkSheet anlegen
   Else
      'was auch immer ...
   End If
End Sub

Als UDF (Function)

Quelle: Aus dem Netz, Autor ist mir nicht bekannt.

Eine Funktion gibt immer nur einen Wert zurück, hier: True oder False. Innerhalb einer Prozedur oder auch eines Arbeitsblattes kann das Ergebnis der Funktion dann als Basis für weitere Aktionen genutzt werden.

Function WorkSheetExists(ByVal WS As Variant) As Boolean
   On Error Resume Next
   WorkSheetExists = Not Worksheets(WS) Is Nothing
End Function

Laden Sie den Code (*.bas, *.cls, *.txtals gepackte ZIP-Datei hier herunter.

▲ nach oben …

Dieser Beitrag wurde unter Code-Schnipsel, Mit VBA/Makro, Verschiedenes abgelegt und mit , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.