BOM DIA AMIGOS,
TENHO UMA PLANILHA "A", E TENHO A MACRO QUE PEGA INFORMACÕES DESTA E PASSA PARA OUTRA PLANILHA "F", E VOLTA A TELA PARA A PLANILHA 'A', PARA EU CONTINUAR MEU TRABALHO.
A QUESTÃO, EU PRECISO CRIAR AS PLANILHAS 'B', 'C', 'D', ENTAO EU QUERIA RENOMEAR A PLANILHA 'A' E A MACRO USAR O NOME DA PLANILHA PARA ATUALIZAR, ASSIM NÃO PRECISO SEMPRE EDITAR A MACRO. OBRIGADO!!!
EX.Range("N12:P12").Select
Range("P12").Activate
Selection.Copy
Sheets("F").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Goto Reference:="FSE"
Application.CutCopyMode = False
Selection.Copy
Range("A4").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=-21
Windows("A.xls").Activate
Sheets("ENTRADA").Select
Bom dia!!
Windows("A.xls").Activate
Quando você diz planilha, significa arquivo (xls .....)?...ou guia?
Caso seja um arquivo, então use uma célula para renomear o arquivo, mas lembre-se o arquivo deve está fechado.
Eu não entendi muito bem sua dúvida.
O exemplo abaixo salva o arquivo baseado na célula.
Option Explicit Sub SvMe() Fonte:http://www.vbaexpress.com/kb/getarticle.php?kb_id=38 'Saves filename as value of A1 plus the current date Dim newFile As String, fName As String ' Don't use "/" in date, invalid syntax fName = Range("A1").Value '<- Veja aqui que será salvo com o nome que está na célula 'Change the date format to whatever you'd like, but make sure it's in quotes newFile = fName & " " & Format$(Date, "mm-dd-yyyy") ' Change directory to suit your PC, including USER NAME ChDir _ "C:Documents and Settings USER NAME Desktop" ActiveWorkbook.SaveAs Filename:=newFile End Sub
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Bom dia,
Primeiro, não utilize letras maiúsculas, isso é o mesmo que gritar. (Além de ser uma convensão para a informática, é desagradável mesmo).
Segundo, eu não entendi muito bem a sua dúvida, vc quer fechar o arquivo "A.xls", renomeá-lo como "B.xls", abrir e rodar a macro novamente?
Outra coisa, pelo código que vc postou, não tem a mudança de arquivo (pasta de trabalho), que é o que vc destacou em vermelho.
Parece que v usou o gravador de macros, e colou somente um pedaço do código todo. O ideal é colocar o código completo, e a planilha compactada tb.
Em todo caso, seguem 2 possibilidades (alterações em vermelho):
1. Usando um inputbox, assim vc digita diretamente o nome da planilha quando precisar:
Dim nome_da_planilha As String
Range("N12:P12").Select
Range("P12").Activate
Selection.Copy
Sheets("F").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Goto Reference:="FSE"
Application.CutCopyMode = False
Selection.Copy
Range("A4").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=-21
nome_da_planilha = inputbox("digite o nome da planilha:")
Windows(nome_da_planilha).Activate
Sheets("ENTRADA").Select
2. Pegando automaticamente o nome da planilha quando começar a rodar o código:
Dim nome_da_planilha As String
nome_da_planilha = ThisWorkbook.Name
Range("N12:P12").Select
Range("P12").Activate
Selection.Copy
Sheets("F").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Goto Reference:="FSE"
Application.CutCopyMode = False
Selection.Copy
Range("A4").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=-21
Windows(nome_da_planilha).Activate
Sheets("ENTRADA").Select
Porém, se tivesse o código completo e a planilha, daria pra melhorar esse código.
Abs
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Ok Gilmar, agradeço muito, começando pela dica ética, com certeza nunca mais cometerei esse erro! Obrigado mesmo!
A duvida era essa mesma, fechar o arquivo "A" renomea-lo e abrir novamante como "B", foi resolvido com seu segundo exemplo.
Na planilha tenho 3 dessas macros, só não funcionou na de salvar, criei uma macro que fecho os arquivos e ja salvo os mesmos no pem drive. Então os arquivos são sempre substituidos e atualizados no pem drive(backup), segue código abaixo, se for possivel me ajudar, eu agradeço!!!
Onde é "NOVO", eu sempre tenho que corrigir com o nome da planilha nova.
Obrigado novamente!
Fabio Maia
Sub SALVAR()
'
' SALVAR Macro
'
'
Range("B4:C4").Select
ActiveWorkbook.Save
ChDir "E:PLANILHAS"
ActiveWorkbook.SaveAs Filename:="E:PLANILHASNOVO.xls", FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWorkbook.Close
End Sub
tenta assim:
Sub SALVAR()
'
' SALVAR Macro
'
Dim nome_da_planilha As String
nome_da_planilha = ThisWorkbook.Name
nome_da_planilha = "E:PLANILHAS" & nome_da_planilha
'
Range("B4:C4").Select
ActiveWorkbook.Save
ChDir "E:PLANILHAS"
ActiveWorkbook.SaveAs Filename:= nome_da_planilha, FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWorkbook.Close
End Sub
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
perfeito!!! obrigado mais uma ves!!!