_ Es kann vorkommen, dass Sie überprüfen müssen, ob ein Arbeitsblatt vorhanden ist, das Sie in einer Arbeitsmappe in einem VBA-Makro / Code erstellt oder gelöscht haben. Wir können dies einfach mit einer Funktion / einem Makro tun. Es gibt mehrere Möglichkeiten, um zu überprüfen, ob ein Arbeitsblatt vorhanden ist._

In diesem Artikel werden die folgenden Möglichkeiten behandelt:

{leer} 1. Benutzerdefinierte Funktion, bekannt als UDF 2. Unterroutine über Meldungsfeld

Erste Option: Benutzerdefinierte Funktion

Der folgende Schnappschuss enthält einige Blattnamen und wir werden prüfen, ob die Namen der Blätter in Spalte A vorhanden sind.

img1

Um festzustellen, ob ein bestimmtes Blatt vorhanden ist, müssen Sie die folgenden Schritte ausführen, um den VB-Editor zu starten. Klicken Sie auf die Registerkarte Entwickler. Wählen Sie in der Gruppe Code Visual Basic

img2

aus * Kopieren Sie den folgenden Code in das Standardmodul

Option Explicit

Function WorksheetExists(ByVal WorksheetName As String) As Boolean

Dim Sht As Worksheet

For Each Sht In ThisWorkbook.Worksheets

If Application.Proper(Sht.Name) = Application.Proper(WorksheetName) Then

WorksheetExists = True

Exit Function

End If

Next Sht

WorksheetExists = False

End Function

img3

Zur Überprüfung verwenden wir UDF in Zelle B2 als = WorksheetExists (A2)

img4

  • In der obigen Abbildung ist „MasterSheet“ in unserer Beispielarbeitsmappe nicht vorhanden. Daher hat die Formel die Antwort False

gegeben === Code Erläuterung:

Diese Funktion übernimmt den Wert für „WorksheetName“ aus dem Makro, das andere Aktivitäten ausführt. Wenn Sie es gemäß Ihrem Code ändern müssen, können Sie.

Für jeden Sht in ThisWorkbook.Worksheets und Next Sht sind die Start- und Endteile der Schleife.

Dann Wenn Application.Proper (Sht.Name) = Application.Proper (Arbeitsblattname) Then _ WorksheetExists = True_ Überprüft, ob der Blattname mit dem vom Hauptmakro übergebenen Blattnamen übereinstimmt. In diesem Fall ist WorksheetExists True, und wir können die Funktion beenden. Andernfalls wird WorksheetExists = False an das Hauptmakro zurückgegeben. Die Schleife geht vom 1. zum nächsten Blatt, bis alle Blätter überprüft wurden.

SecondOption: Subroutine durch Meldungsfeld

Wir können eine normale Unterroutine haben, die eine UDF aufruft. Wenn das angegebene Blatt gefunden wird, wird im Meldungsfeld „Blatt vorhanden“ angezeigt. Wenn nicht gefunden, wird msgbox angezeigt, „Blatt nicht gefunden“.

Zur Überprüfung kopieren wir den folgenden Code in das Standardmodul:

Function WorksheetExists2(WorksheetName As String, Optional wb As Workbook) As Boolean

If wb Is Nothing Then Set wb = ThisWorkbook

With wb

On Error Resume Next

WorksheetExists2 = (.Sheets(WorksheetName).Name = WorksheetName)

On Error GoTo 0

End With

End Function

Sub FindSheet()

If WorksheetExists2("Sheet1") Then

MsgBox "Sheet1 is in this workbook"

Else

MsgBox "Oops: Sheet does not exist"

End If

End Sub

img5

Nach dem Ausführen des Makros „FindSheet“ wird das folgende Meldungsfeld angezeigt, falls ein Blatt vorhanden ist:

img6

Wenn kein Blatt vorhanden ist, wird das folgende Meldungsfeld angezeigt:

img7

In ähnlicher Weise können wir eine einfache IF-Schleife haben, die prüft, ob das Blatt vorhanden ist, und danach bestimmte Aktionen ausführt.

Sub test()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

If ws.Name <> "Main" Then

ws.Range("A1").Value = ws.Name

Else

ws.Range("A1").Value = "MAIN LOGIN PAGE"

End If

Next ws

End Sub

img8

Um das obige Makro zu testen, müssen wir einen Blattnamen „Main“ erstellen. Dieses Makro ist sehr einfach. Es durchläuft jedes Arbeitsblatt in der Arbeitsmappe. Anschließend wird überprüft, ob der Arbeitsblattname nicht MAIN ist. Wenn es MAIN ist, wird Text wie „MAIN LOGIN PAGE“ in A1 dieses Blattes angezeigt, andernfalls wird der Name von angezeigt das Blatt in Zelle A1

img9

Dies ist nur eine weitere Möglichkeit, um zu überprüfen, ob das Blatt vorhanden ist. Wenn vorhanden, führen Sie Aktion A aus, wenn nicht, Aktion B Schlussfolgerung: * Wir können feststellen, ob ein Blatt in unserer Arbeitsmappe vorhanden ist oder nicht. Wir können UDF oder Unterprogramm nach Belieben verwenden.

image 48

Wenn Ihnen unsere Blogs gefallen haben, teilen Sie sie Ihren Freunden auf Facebook mit. Sie können uns auch auf Twitter und Facebook folgen.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern, ergänzen oder innovieren und für Sie verbessern können. Schreiben Sie uns an [email protected]