Sommario
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 |