Verifica se esiste la funzione foglio e/o intervallo

Controlla se il foglio esiste

Abbiamo creato una funzione che verificherà se esiste un foglio o un intervallo (su un foglio particolare). Il test dell'intervallo è utile se si desidera verificare se su un foglio esiste un determinato intervallo denominato.

123456789101112 'Verifica se esiste un intervallo su un foglio.'Lascia vuoto l'intervallo per verificare se il foglio esiste'Ingressi:' WhatSheet - Stringa Nome del foglio (ex "Sheet1")' WhatRange (Opzionale, Predefinito = "A1") - Stringa Nome dell'intervallo (ex "A1")Funzione RangeExists(WhatSheet As String, Optional ByVal WhatRange As String = "A1") As BooleanDim test come intervalloIn caso di errore Riprendi AvantiImposta test = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0In caso di errore Vai a 0Fine funzione

Posiziona la funzione all'interno di un modulo di codice VBA e puoi accedervi utilizzando procedure secondarie come queste:

Controlla se il foglio esiste

123 Sub Test_SheetExists()MsgBox RangeExists("setup")Fine sottotitolo

Controlla se l'intervallo esiste su un foglio

123 Sub Test_RangeExists()MsgBox RangeExists("setup", "rngInput")Fine sottotitolo

Regolazione della funzione RangeExists

Controlla se il foglio esiste in un'altra cartella di lavoro

La funzione sopra ha esaminato ActiveWorkbook (la cartella di lavoro attualmente attiva). Invece puoi regolare la funzione per guardare una cartella di lavoro specifica come questa:

12345678910111213 'Verifica se esiste un intervallo su un foglio.'Lascia vuoto l'intervallo per verificare se il foglio esiste'Ingressi:' WhatBook - *Oggetto cartella di lavoro*' WhatSheet - Stringa Nome del foglio (ex "Sheet1")' WhatRange (Opzionale, Predefinito = "A1") - Stringa Nome dell'intervallo (ex "A1")Funzione RangeExists(WhatBook As Workbook, WhatSheet As String, Optional ByVal WhatRange As String = "A1") As BooleanDim test come intervalloIn caso di errore Riprendi AvantiImposta test = WhatBook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0In caso di errore Vai a 0Fine funzione

Implementazione:

1234567 Sub Test_WBSsheet_Exists()Dim wb come cartella di lavoroImposta wb = ActiveWorkbookMsgBox RangeExists(wb, "Sheet1")Fine sottotitolo
wave wave wave wave wave