Como deletar uma planilha usando vba?

Para excluir uma planilha usando VBA, você deve usar o método VBA Delete. Você precisa especificar a planilha que deseja excluir e usar este método. Digamos que se você deseja excluir a “Planilha1”, então você deve mencionar a planilha1, digitar um ponto final (.) e no final digitar “Excluir”.

Neste tutorial, veremos diferentes maneiras que você pode usar para excluir uma planilha usando código VBA. Certifique-se de ter a guia do desenvolvedor na faixa de opções, a partir daqui você pode acessar o editor de base visual .

Exclua uma planilha usando seu nome

Cada planilha tem um nome e você pode usar o código de gravação para excluir uma planilha usando o nome. Então, digamos que você queira deletar a planilha “Dados”, o código seria:

 Sub vba_delete_sheet() Sheets("Data").Delete End Sub
escrever-código-excluir

Excluir uma planilha sem aviso (solicitação)

Ao excluir uma planilha, o Excel exibe uma mensagem para confirmar se deseja excluí-la ou cancelá-la. E quando você usa código VBA, neste caso o Excel também fará isso.

caixa de diálogo para confirmar a exclusão ou cancelamento

Para resolver esse problema, você pode desativar a atualização da tela para excluir uma planilha e ativá-la.

 Application.DisplayAlerts = False Sheets("Data").Delete Application.DisplayAlerts = True
desabilitar alerta de diálogo

Nome da planilha de uma célula

Agora digamos que você queira usar um valor de célula para usar o nome da planilha. Nesse caso, você precisa usar o objeto de intervalo VBA para fazer isso.

use um valor de célula para usar o nome da planilha

Excluir planilha usando o número da planilha

Isso mesmo. Você pode usar o número da planilha para excluí-la. Aqui está o código.

 Sub vba_delete_sheet() Sheets(1).Delete End Sub
use o número da planilha para excluí-lo

Excluir planilha ativa

Para excluir a planilha ativa, você pode usar o objeto “ActiveSheet” em vez de usar o nome da planilha para especificá-la.

 ActiveSheet.Delete
para excluir planilha ativa usar planilha ativa

Como eu disse, isso exclui a planilha ativa e você pode ativá-la antes de excluí-la. Mas obviamente você não precisa fazer isso porque você pode consultar uma planilha e excluí-la como vimos no início deste tutorial.

Verifique se a planilha existe antes de excluí-la

Você também pode escrever o código de forma que possa verificar se a planilha existe ou não e então excluí-la.

 Sub check_sheet_delete() Dim ws As Worksheet Dim mySheet As Variant mySheet = InputBox("enter sheet name") Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If mySheet = ws.Name Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub
escreva o código para verificar se a planilha existe

Neste código você tem FOR EACH para iterar por todas as planilhas. E então, uma instrução IF para excluir a planilha se seu nome for igual ao nome que você digitou na caixa de entrada.

Exclua todas as planilhas da pasta de trabalho

Tenho certeza de que você tem essa pergunta em mente, mas infelizmente é impossível excluir todas as planilhas que você tem na pasta de trabalho. Você ainda tem pelo menos uma planilha.

Mas encontrei uma solução para esse problema. Você pode inserir uma nova folha em branco e excluir todas as que já estão lá.

Aqui está o código: Este código adiciona uma nova planilha e exclui todas as outras planilhas.

 Sub vba_delete_all_worksheets() Dim ws As Worksheet Dim mySheet As String mySheet = "BlankSheet-" & Format(Now, "SS") Sheets.Add.Name = mySheet Application.DisplayAlerts = False For Each ws In ThisWorkbook.Worksheets If ws.Name <> mySheet Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub

Adicione um comentário

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