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, *.txt) als gepackte zip-Datei hier herunter.
[NachObenLetzte Verweis=„CodeSchnipsel: Existiert wks?”]