Existiert dieses Tabellenbatt?

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

Aus ver­schiede­nen Grün­den kann es sin­nvoll sein, per Pro­gramm (VBA) zu prüfen, ob es in der aktuellen Arbeitsmappe ein bes­timmtes Tabel­len­blatt schon gibt oder nicht. In den meis­ten Fällen soll es dann angelegt wer­den oder falls es das schon gibt sollen dort die Inhalte aber nicht die For­matierun­gen gelöscht wer­den.

Hier stellen wir Ihnen zwei recht kurze Pro­gramme vor, die bei­de den Zweck erfüllen:

Als Prozedur (oder den Teil innerhalb einer Sub)

Eine Sub (Proze­dur) führt immer etwas aus, es wird je nach Sach­lage das eine oder andere durch den Code durchge­fü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 bekan­nt.

Eine Funk­tion gibt immer nur einen Wert zurück, hier: True oder False. Inner­halb ein­er Proze­dur oder auch eines Arbeits­blattes kann das Ergeb­nis der Funk­tion dann als Basis für weit­ere Aktio­nen genutzt wer­den.

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 gepack­te zip-Datei hier herunter.

[NachOben­Let­zte Verweis=„CodeSchnipsel: Existiert wks?”]
Dieser Beitrag wurde unter Code-Schnipsel, Mit VBA/Makro, Verschiedenes abgelegt und mit , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.