Como excluir arquivos usando vba (com exemplos)
Você pode usar a instrução Kill no VBA para excluir um arquivo Excel específico em uma pasta específica.
Aqui está uma maneira comum de usar esta afirmação na prática:
SubDeleteFile ()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
Esta macro específica exclui o arquivo Excel chamado football_data.xlsx localizado na seguinte pasta:
C:\Usuários\Bob\Desktop\Meus_Dados
A linha On Error Resume Next informa ao VBA que se ocorrer um erro e o arquivo não for encontrado, nenhuma mensagem de erro deverá ser exibida.
Em seguida, usamos On Error GoTo 0 para redefinir as mensagens de erro para as configurações padrão.
Se quiser exibir uma mensagem de erro caso o arquivo não seja encontrado, basta remover essas duas linhas do código.
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: excluir um arquivo usando VBA
Suponha que temos a seguinte pasta contendo três arquivos Excel:
Digamos que queremos usar VBA para excluir o arquivo chamado football_data.xlsx .
Podemos criar a seguinte macro para fazer isso:
SubDeleteFile ()
On Error Resume Next
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
On Error GoTo 0
End Sub
Assim que executarmos esta macro e abrirmos a pasta novamente, veremos que o arquivo chamado football_data.xlsx foi excluído:
Todos os outros arquivos permaneceram intactos na pasta.
Se desejar que uma mensagem de erro seja exibida se o arquivo não existir, você pode usar a seguinte macro:
SubDeleteFile ()
Kill "C:\Users\Bob\Desktop\My_Data\soccer_data.xlsx"
End Sub
Ao executarmos esta macro, recebemos a seguinte mensagem de erro:
Estamos recebendo esta mensagem de erro porque o arquivo football_data.xlsx já foi excluído e não existe mais na pasta.
Nota : Esteja ciente de que a instrução Kill exclui permanentemente um arquivo e não simplesmente o envia para a Lixeira.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como contar o número de planilhas em uma pasta de trabalho
VBA: Como extrair dados de outra pasta de trabalho
VBA: Como deletar uma planilha se o nome contiver texto específico