Notifications
Clear all

Macro salvar com nome e local de celula

4 Posts
4 Usuários
0 Reactions
1,331 Visualizações
(@caiobispo)
Posts: 53
Trusted Member
Topic starter
 

Amigos, estou com o seguinte problema:

Preciso que minha macro salve o arquivo.xlsm com um novo nome (que esta em uma celula) e um novo local (que esta em uma celula).

Estou tentando utilizar a seguinte formula:

Sub salveteste()

Dim Local As String
Local = ThisWorkbook.Path & [i29]
ActiveWorkbook.SaveAs Filename:=Local & [i31].Value & ".xlsm"
MsgBox ("Planilha Salva Como : ") & [i31].Value & ".xlsm"
End Sub

A formula não funciona, imagino o que seja de errado é o que tem na celula i29 e i31
Na celula i29 tem a formula =CONCATENAR("C:Users";J4;"Desktop") que resulta na informação C:Users(usuario)Desktop ----> Seria as informações do local a ser salvo
Na celula i31 tem a formula =A1&TEXTO(E1;"dd.mm.aaaa") que resulta na informação Planilha Serviço 29.05.2014 ----> Seria o nome do arquivo a ser salvo

Com isso parace que ou a Macro que estou tentando criar esta errada ou ela esta puxando as informações das formulas das celulas e não o resultado delas.
Estou no serviço e não consigo enviar daqui a planilha. Assim que chegar em casa posto, mas creio que minha dúvida ficou bem explicada. Obrigado.

Agradeço a ajuda de todos.

 
Postado : 29/05/2014 7:06 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

tenta assim:

Sub salveteste()

Dim Caminho As String
Dim Arquivo As String

Caminho = Range("i29").Value2
Arquivo = Range("i31").Value2

ActiveWorkbook.SaveAs Filename:=Caminho & Arquivo & ".xlsm"
MsgBox ("Planilha Salva Como : " & Arquivo & ".xlsm")

End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 29/05/2014 7:54 pm
kurkas
(@kurkas)
Posts: 85
Trusted Member
 

Olá,

Tenho numa planilha o seguinte código:

Sub Impressãoindividual()

' imprimir escala individual para xlsm
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "Individual " & Sheets("Indiv.").Range("k2").Value& & ".xlsm"

End Sub

Vê se te dá jeito.

 
Postado : 30/05/2014 6:29 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caio
a variavel de sistema Thisworkbook.path já retorna um caminho tipo "C:Seu diretório", entenda como local onde está salvo a planilha em uso.
Repare que utilizando: Local = ThisWorkbook.Path & [i29]; e supondo que sua planilha esteja salva em c:Temp;
você está montando uma string +/- assim : C:TempC:Users(usuário)Desktop; isso certamente causara erro.
Também prefira sempre chamar uma range informando o caminho completo tipo sheets("Plan1").range("C29").value, assim garante que o valor seja obtido da celula certa, independente da planilha ativa.
Creio que a proposta do colega Gilmar vai lhe auxiliar.

Kurkas,
não ficou claro, para mim, sua duvida/necessidade
porem verifique se a celula -->Sheets("Indiv.").Range("k2").Value inicia com "" (barra invertida), se não acrescente em "Individual"

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/05/2014 6:52 am