Função Verificar se a Planilha e/ou o Intervalo Existe
In this Article
Verificar se a Planilha Existe
Criamos uma função que testará se uma planilha ou intervalo (em uma determinada planilha) existe. O teste de intervalo é útil se você quiser verificar se um intervalo nomeado específico existe em uma planilha.
'Testar se um intervalo existe em uma planilha.
'Deixe o intervalo em branco para testar se a planilha existe
'Entradas:
' QualPlanilha - String do nome da planilha (ex.: "Planilha1")
' QualIntervalo (opcional, padrão = "A1") - String do nome do intervalo (ex.: "A1")
Function IntervaloExiste(QualPlanilha As String, Optional ByVal QualIntervalo As String = "A1") As Boolean
Dim teste As Range
On Error Resume Next
Set teste = ActiveWorkbook.Sheets(QualPlanilha).Range(QualIntervalo)
IntervaloExiste = Err.Number = 0
On Error GoTo 0
End Function
Coloque a função em um módulo de código VBA e você poderá acessá-la usando subprocedimentos como estes:
Verificar se a Planilha Existe
Sub Testar_PlanilhaExiste()
MsgBox IntervaloExiste("configuracao")
End Sub
Verificar se o Intervalo Existe em uma Planilha
Sub Testar_IntervaloExiste()
MsgBox IntervaloExiste("configuracao", "rngEntrada")
End Sub
Ajuste da Função RangeExists
Verificar se a Planilha Existe em Outra Pasta de Trabalho
A função acima examinou a ActiveWorkbook (a pasta de trabalho ativa no momento). Em vez disso, você poderia ajustar a função para examinar uma pasta de trabalho específica, assim:
'Testar se um intervalo existe em uma planilha.
'Deixe o intervalo em branco para testar se a planilha existe
'Inputs:
' QualPasta - *Objeto Workbook*
' QualPlanilha - String do nome da planilha (ex.: "Planilha1")
' QualIntervalo (opcional, padrão = "A1") - String do nome do intervalo (ex.: "A1")
Function IntervaloExiste(QualPasta As Workbook, QualPlanilha As String, Optional ByVal QualIntervalo As String = "A1") As Boolean
Dim teste As Range
On Error Resume Next
Set teste = QualPasta.Sheets(QualPlanilha).Range(QualIntervalo)
IntervaloExiste = Err.Number = 0
On Error GoTo 0
End Function
Implementação
Sub Testar_PastaPlanilha_Existe()
Dim wb As Workbook
Set wb = ActiveWorkbook
MsgBox IntervaloExiste(wb, "Planilha1")
End Sub