Inhaltsverzeichnis
Ü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 |