Notifications
Clear all

Passando variáveis dentro do ActiveWorkbook.SaveAs Filename

5 Posts
3 Usuários
0 Reactions
686 Visualizações
(@jbrunu)
Posts: 0
New Member
Topic starter
 

Bom dia Amigos,

Sou iniciante em VBA, mas estou me esforçando para aprender, tenho conhecimento em algumas linguagens de programação. Estou criando uma macro que irá criar uma nova planilha contendo dados que foram filtrados de uma planilha X, e deverá salvar o nome da planilha de acordo com o valor dentro da variável nome, até ai tudo bem. Estou tendo dificuldades em colocar a ultima parte, em que eu utilizo o nome da variável, em funcionamento. Meu código atualmente está desta forma (apenas a parte em que ele salva):

ActiveWorkbook.SaveAs Filename:="\TI\@Pasta CentralDébitos colaboradores'& nome &'.xls" _
, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

Eu já tentei utilizar "&nome&".xls , porem não compila.

Agradeço desde já a atenção.

Att,
Jeferson Bruno

 
Postado : 24/09/2015 12:02 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O ideal seria ter colocado a rotina completa para saber de onde está vindo o nome do arquivo que alimenta a variavel "nome", mas veja se é isto o que quer.

Definimos o tipo da Variavel nome e depois alimentamos a mesma com o nome do arquivo.

Dim nome As String

nome = "meuArquivo.xls"

ActiveWorkbook.SaveAs Filename:="\TI\@Pasta CentralDébitos colaboradores" & nome, _
FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
 
Postado : 24/09/2015 12:45 pm
(@mprudencio)
Posts: 0
New Member
 

Coloque uma aspas apos a extensão do arquivo assim

" &nome & ".xls"

 
Postado : 24/09/2015 12:47 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Coloque uma aspas apos a extensão do arquivo assim

" &nome & ".xls"

Prudencio, se colocar as aspas da forma que indicou estaremos eliminando a "concatenação" que é feita atravez do "&", como o mesmo não passou como ele passa o nome do arquivo para a variavel, defini a mesma para entendimento, mas se ele já tiver esta definição não precisará, uma outra forma sem passar a extensão junto com o nome seria :

Dim nome As String

nome = "meuArquivo"

ActiveWorkbook.SaveAs Filename:="\TI\@Pasta CentralDébitos colaboradores" & nome & ".xls" _
, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

[]s

 
Postado : 24/09/2015 1:12 pm
(@mprudencio)
Posts: 0
New Member
 

Mauro devido um problema na postagem da formatação do fórum é que o não apareceu o espaço conforme vc indicou acima, mas a ideia é a mesma o espaço entre o & e o ".xls" se faz necessário para que não se tenha erros e o código funcione.

 
Postado : 24/09/2015 1:18 pm