Prüfen, ob Blatt und/oder Bereich vorhanden Funktion

Überprüfen Sie, ob das Blatt vorhanden ist

Wir haben eine Funktion erstellt, die testet, ob ein Blatt oder ein Bereich (auf einem bestimmten Blatt) vorhanden ist. Der Bereichstest ist nützlich, wenn Sie überprüfen möchten, ob ein bestimmter benannter Bereich auf einem Blatt vorhanden ist.

123456789101112 'Testen, ob ein Bereich auf einem Blatt vorhanden ist.'Lassen Sie den Bereich leer, um zu testen, ob das Blatt vorhanden ist'Eingaben:' WhatSheet - Zeichenfolgenname des Blatts (z. B. "Sheet1")' WhatRange (Optional, Standard = "A1") - Stringname des Bereichs (z. B. "A1")Funktion RangeExists(WhatSheet As String, Optional ByVal WhatRange As String = "A1") As BooleanDimmtest als BereichBei Fehler Fortsetzen als nächstesSet test = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0Bei Fehler GoTo 0Endfunktion

Platzieren Sie die Funktion in einem VBA-Codemodul und Sie können darauf zugreifen, indem Sie Unterprozeduren wie diese verwenden:

Überprüfen Sie, ob das Blatt vorhanden ist

123 Unter Test_SheetExists()MsgBox RangeExists("Setup")End Sub

Überprüfen Sie, ob ein Bereich auf einem Blatt vorhanden ist

123 Unter Test_RangeExists()MsgBox RangeExists("setup", "rngInput")End Sub

Anpassen der RangeExists-Funktion

Überprüfen Sie, ob das Blatt in einer anderen Arbeitsmappe vorhanden ist

Die obige Funktion betrachtete ActiveWorkbook (die derzeit aktive Arbeitsmappe). Stattdessen könnten Sie die Funktion anpassen, um eine bestimmte Arbeitsmappe wie folgt anzuzeigen:

12345678910111213 'Testen, ob ein Bereich auf einem Blatt vorhanden ist.'Lassen Sie den Bereich leer, um zu testen, ob das Blatt vorhanden ist'Eingaben:' WhatBook - *Arbeitsmappenobjekt*' WhatSheet - Zeichenfolgenname des Blatts (z. B. "Sheet1")' WhatRange (Optional, Standard = "A1") - Stringname des Bereichs (z. B. "A1")Funktion RangeExists(WhatBook As Workbook, WhatSheet As String, Optional ByVal WhatRange As String = "A1") As BooleanDimmtest als BereichBei Fehler Fortsetzen als nächstesSet test = WhatBook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0Bei Fehler GoTo 0Endfunktion

Implementierung:

1234567 Untertest_WBSheet_Exists()Dim wb als ArbeitsmappeSet wb = ActiveWorkbookMsgBox RangeExists(wb, "Sheet1")End Sub
wave wave wave wave wave