Como verificar se existe uma planilha usando vba?

Se você deseja criar uma planilha, excluí-la, movê-la ou copiá-la, você precisa saber se esta planilha existe ou não.

Para escrever um código para verificar se a planilha existe ou não, você precisa de um loop que passe por cada planilha da pasta de trabalho e corresponda ao nome fornecido. Mas é o seguinte, você pode usar dois loops diferentes para isso ( For Next e For Each ), e hoje usaremos os dois.

Neste tutorial, veremos diferentes maneiras de fazer isso. Portanto, certifique-se de ter a guia Desenvolvedor na faixa de opções e abra o editor VBA para escrever este código.

Verifique se existe uma planilha na pasta de trabalho atual

Com esse loop, você pode fazer referência a todas as planilhas da pasta de trabalho e percorrê-las uma por uma para combinar o nome da planilha com o nome da planilha que deseja pesquisar.

Siga esses passos:

  1. Primeiro, declare uma variável para usar na planilha ao executar o loop e para armazenar o nome da planilha que você deseja pesquisar.
    declare-a-variable-to-use-for-the-sheet
  2. Em seguida, escreva uma linha de código para uma caixa de entrada para inserir o nome da planilha que deseja pesquisar.
    line-of-code-for-an-input-box
  3. Depois disso, inicie seu loop com a palavra-chave For Each. E use a variável para se referir a cada planilha da pasta de trabalho.
    start-your-loop
  4. A partir daqui, você precisa escrever uma instrução IF THEN ELSE para combinar o nome da planilha com o nome inserido na caixa de entrada e, em seguida, exibir uma caixa de mensagem se a correspondência for encontrada e sair do procedimento.
    write-an-if-then-else
  5. No final, uma caixa de mensagem para notificá-lo caso nenhuma correspondência seja encontrada.
    message-box-to-show

Links úteis: Executar uma macroGravador de macroEditor Visual BasicManual pessoal de macros

Código completo:

 Sub vba_check_sheet() Dim sht As Worksheet Dim shtName As String shtName = InputBox(Prompt:="Enter the sheet name", _ Title:="Search Sheet") For Each sht In ThisWorkbook.Worksheets If sht.Name = shtName Then MsgBox "Yes! " & shtName & " is there in the workbook." Exit Sub End If Next sht MsgBox "No! " & shtName & "is not there in the workbook." End Sub

Deixe-me explicar como funciona: Ao executar este código, aparecerá uma mensagem onde você deverá inserir o nome da planilha que deseja pesquisar.

Depois disso, ele percorre cada planilha para combinar o nome com o nome que você digitou e, se o nome corresponder a uma planilha, mostra uma mensagem e outra mensagem se não houver correspondência.

Aqui está outro código para verificar se uma planilha existe ou não.

 Sub vba_check_sheet() Dim sht As Worksheet Dim shtName As String Dim i As Long i = Sheets.Count shtName = InputBox(Prompt:="Enter the sheet name", _ Title:="Search Sheet") For i = 1 To i If Sheets(i).Name = shtName Then MsgBox "Yes! " & shtName & " is there in the workbook." Exit Sub End If Next i MsgBox "No! " & shtName & " is not there in the workbook." End Sub

Este código usa o loop FOR NEXT e usa o número total de planilhas na pasta de trabalho e, com base nisso, percorre cada planilha que corresponde ao nome que você inseriu.

Verifique se a planilha existe na pasta de trabalho fechada

No código a seguir, você tem um loop que procura o nome da planilha em uma pasta de trabalho fechada. Para nos referirmos ao arquivo, usamos o endereço do arquivo.

 Sub vba_check_sheet() Dim wb As Workbook Dim sht As Worksheet Dim shtName As String shtName = InputBox(Prompt:="Enter the sheet name", _ Title:="Search Sheet") Application.ScreenUpdating = False Set wb = Workbooks.Open _ ("C:UsersDellDesktopsample-file.xlsx") For Each sht In wb.Worksheets If sht.Name = shtName Then wb.Close SaveChanges:=True MsgBox "Yes! " & shtName & " is there in the workbook." _ , vbInformation, "Found" Exit Sub End If Next sht Application.ScreenUpdating = False MsgBox "No! " & shtName _ & " is not there in the workbook.", _ vbCritical, "Not Found" End Sub

Ao executar esta macro, ela abre o arquivo na parte de trás quando você desabilita a atualização da tela e, depois de passar por todas as planilhas, você tem o código para habilitar a atualização da tela. ‘tela.

Nota: Como você pode ver, no endereço do local do arquivo temos a extensão do arquivo, o que significa que você precisa ter a extensão de arquivo correta para se referir a ele.

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *