VBA Save File – 20 Exemplos fáceis

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on April 10, 2023

Este tutorial em VBA examina como salvar um arquivo usando os comandos Salvar e Salvar Como em VBA.

Salvando um Arquivo – VBA

O comando Salvar em VBA salva um arquivo Excel, semelhante a clicar no ícone Salvar ou usando a tecla de atalho Salvar (CTRL+S).

Salvar um Arquivo Específico

Para salvar um arquivo específico, faça referência ao objeto Workbook e use o comando Save.

Workbooks("SalvarAquivo.xlsm").Save

Salvar o Arquivo Ativo

Nota: Este é o arquivo ativo atual (Active Workbook) do código VBA, que é diferente do ThisWorkbook, que é o arquivo que contém o código em execução.

ActiveWorkbook.Save

Codificação Fácil em VBA

Pare de procurar por código VBA online. Saiba mais sobre AutoMacro, um construtor de códigos VBA que permite aos iniciantes codificar procedimentos do zero com o mínimo de conhecimento de codificação e com muitos recursos que economizam tempo para todos os usuários!

vba save as

Saiba mais sobre o AutoMacro!

Salvar o Arquivo Onde o Código é Armazenado

ThisWorkbook.save

Salvar Todos os Arquivos Abertos

Este código passará por todos os arquivos abertos e salvará cada um deles.

Dim wb as workbook

For Each wb In Application.Workbooks
	wb.Save
Next wb

Salvar Todos os Arquivos Abertos que não Estejam Abertos no Modo Somente Leitura

Nota: A abertura de um arquivo no modo ReadOnly impedirá que ele seja salvo.
Para salvar o arquivo, você precisará usar Save As e salvar o arquivo com um nome diferente.

Dim wb as workbook

For Each wb In Application.Workbooks
	If not wb.ReadOnly then
		wb.Save
	End if
Next wb

Salvando um Arquivo Definido por uma Variável

Isto salvará um arquivo que foi atribuído a uma variável de objeto Workbook.

Dim wb as workbook

set wb = workbooks("SalvarArquivo.xlsm")
wb.save

Salvar um Arquivo Definido por uma Variável Texto

Isto salvará um arquivo cujo nome é escrito em uma variável do tipo string.

Dim TextoNomeArquivo as string

TextoNomeArquivo = "SalvarArquivo.xlsm"
workbooks(TextoNomeArquivo).save

Salvar um Arquivo Definido Pela Ordem em que Foi Aberto.

Nota: O primeiro arquivo será 1, o segundo 2, e assim por diante.

workbooks(1).save

Salvar Arquivo com Base no Valor da Célula

Isto salvará um arquivo cujo nome é encontrado em um valor de célula.

Dim TextoNomeArquivo as string

TextoNomeArquivo = activeworkbook.sheets("Planilha1").range("A1").value
workbooks(TextoNomeArquivo).save

Salvar Como – VBA

O comando VBA Salvar Como salva um arquivo Excel como um novo arquivo, semelhante a clicar no ícone Salvar Como ou usando a tecla de atalho Salvar Como (Alt > F > A).
Acima, listamos todas as formas de especificar o arquivo a ser salvo. Você pode usar exatamente os mesmos métodos para especificar arquivos quando você usa o comando Salvar Como.

A função Salvar Como se comporta de forma semelhante a Salvar, exceto que você também deve especificar o nome do novo arquivo.
Na verdade, o comando Salvar Como tem muitas variáveis potenciais a especificar:

SaveAs Syntax:

workbook object .SaveAs(FileName, FileFormat, Password, WriteResPassword, _
ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _
AddToMru,TextCodepage, TextVisualLayout, Local)

Uma descrição completa de todos os argumentos de SaveAs está incluída abaixo. Por enquanto, vamos nos concentrar nos exemplos mais comuns.
Nota: Estes argumentos podem ser inseridos como strings com parênteses ou como variáveis definidas.

Exemplos de Sintaxe do Salvar Como:

Workbook Save As – Mesmo Diretório

ActiveWorkbook.SaveAs Filename:= "novo"

ou

ActiveWorkbook.SaveAs "novo"

ou

Dim NomeArquivo as string

NomeArquivo = "novo"
ActiveWorkbook.SaveAs Filename:= NomeArquivo

Workbook Save As – Novo diretório

ActiveWorkbook.SaveAs Filename:= "C:\novo"

ou

Dim NomeArquivo as string

NomeArquivo = "C:\novo"
ActiveWorkbook.SaveAs Filename:= NomeArquivo

Workbook Save As – Novo Diretório, Especificar a Extensão do Arquivo

ActiveWorkbook.SaveAs Filename:= "C:\novo.xlsx"

ou

Dim NomeArquivo as string

NomeArquivo = "C:\novo.xlsx"
ActiveWorkbook.SaveAs Filename:= NomeArquivo

Workbook Save As – Novo diretório, Especificar a Extensão do Arquivo – método Alt

Você também pode especificar o formato do arquivo em seu próprio argumento.

.xlsx = 51 '(52 para Mac)
.xlsm = 52 '(53 para Mac)
.xlsb = 50 '(51 para Mac)
.xls = 56 '(57 para Mac)
ActiveWorkbook.SaveAs Filename:= "C:\novo", FileFormat:= 51

Workbook Save As – Adicionar Senha ao Arquivo Aberto

ActiveWorkbook.SaveAs Filename:= "C:\novo.xlsx", Password:= "senha"

Workbook Save As – Adicionar Senha Para Permissão de Escrita

Se a senha correta não for inserida, a pasta de trabalho será aberta somente para leitura

ActiveWorkbook.SaveAs Filename:= "C:\novo.xlsx", WriteRes:= "senha"

Workbook Save As – Somente Leitura Recomendada

VERDADEIRO para exibir uma caixa com uma mensagem recomendando que o arquivo seja aberto somente para leitura.

ActiveWorkbook.SaveAs Filename:= "C:\novo.xlsx", ReadOnlyRecommended:= TRUE

Outros Exemplos de Salvar Como

Criar uma Caixa de Diálogo Salvar Como

Isto gera a caixa de diálogo Salvar Como, que solicita ao usuário que salve o arquivo.
Note que este simples código pode não ser apropriado em todos os casos.

Application.GetSaveAsFilename

Criar uma Caixa de Diálogo Salvar Como  com o Nome de Arquivo Padrão Fornecido

Application.GetSaveAsFilename InitialFilename:="teste.xlsx"

Criar e Salvar um Novo Arquivo

Isto criará um novo arquivo e o salvará imediatamente.

Dim wb As Workbook

Set wb = Workbooks.Add
Application.DisplayAlerts = False
wb.SaveAs Filename:=”c:\Teste1.xlsx”
Application.DisplayAlerts = True

Desabilitar Alertas de Salvamento

Ao trabalhar com salvamentos em VBA, você pode encontrar vários avisos ou avisos de salvamento. Para desativar as advertências, acrescente esta linha de código:

Application.DisplayAlerts=False

e para reativar as advertências:

Application.DisplayAlerts=True

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA