andoliveira4 Postado Dezembro 11, 2008 Denunciar Share Postado Dezembro 11, 2008 (editado) Eu tenho um Excel chamado TESTE_ABRE_ARQUIVO e um outro chamado HBA_PROC9_1.xls, um em cada pastaExplicação do cenario:No meu arquivo TESTE_ABRE_ARQUIVO eu tenho nas respectivas celulas:a1 = C:\PROJETOS\HBA\ACL\a2 = HBAa3 = _PROC9_1.xlsOu seja essas 3 celulas formam um nome de arquivo neste caso C:\PROJETOS\HBA\ACL\HBA_PROC9_1.xlsObjetivo:- Abrir um Excel ( HBA_PROC9_1.xls ) apartir das informacões que eu tenho do arquivo TESTE_ABRE_ARQUIVO - Copiar o valor de A1 da planilha aberta dinamicamente, neste caso HBA_PROC9_1.xls- Fechar HBA_PROC9_1.xls- E Colar o valor na ceclula A20 da TESTE_ABRE_ARQUIVOScript Realizado:Sub Macro1() ' ' Macro1 Macro ' Macro recorded 21/11/2008 by YourNameHere ' ' Keyboard Shortcut: Ctrl+Shift+U ' Sheets("Sheet1").Select PathName = Range("A1").Value Enterprise = Range("A2").Value Filename = Range("A3").Value ControlFile = ActiveWorkbook.Name Workbooks.Open Filename:=PathName & Enterprise & Filename ActiveWindow.Visible = False Windows(PathName & Enterprise & Filename).Visible = True Range("A1").Select Selection.Copy ActiveWindow.Close Range("A20").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = FalseConclusãoEu consigo abrir a planilha + não consigo pegar o valor dela....o que eu faço por favor me ajudem??? Editado Dezembro 11, 2008 por andoliveira4 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 zav60 Postado Dezembro 12, 2008 Denunciar Share Postado Dezembro 12, 2008 Olá andoliveira4Experimente uma destas macros:Sub Macro2() Dim PNm, ENm, FNm, WkB, WB Application.DisplayAlerts = False Worksheets("TESTE_ABRE_ARQUIVO").Activate PNm = Range("A1").Value ENm = Range("A2").Value FNm = Range("A3").Value WkB = PNm & ENm & FNm WB = ENm & FNm Workbooks.Open Filename:=WkB 'A seguir, aonde está XXXXXX coloque o nome da planilha que 'pretende activar (neste caso) no HBA_PROC9_1.xls - Talvez Sheet1? Worksheets("XXXXXX").Activate Range("A1").Select Selection.Copy ThisWorkbook.Worksheets("TESTE_ABRE_ARQUIVO").Activate Range("A20").Select Selection.PasteSpecial Paste:=xlValues, operation:=xlNone Application.CutCopyMode = False Workbooks(WB).Close Application.DisplayAlerts = True End Sub ou então: Sub Macro3() Dim PNm, ENm, FNm, WkB, WB Application.DisplayAlerts = False Worksheets("TESTE_ABRE_ARQUIVO").Activate PNm = Range("A1").Value ENm = Range("A2").Value FNm = Range("A3").Value WkB = PNm & ENm & FNm WB = ENm & FNm Workbooks.Open Filename:=WkB 'A seguir, aonde está XXXXXX coloque o nome da planilha que 'pretende activar (neste caso) no HBA_PROC9_1.xls - Talvez Sheet1? Workbooks(WB).Worksheets("XXXXXX").Range("A1").Copy _ Destination:=ThisWorkbook.Worksheets("TESTE_ABRE_ARQUIVO") _ .Range("A20") Application.CutCopyMode = False Workbooks(WB).Close Application.DisplayAlerts = True End SubA diferença entre as duas é que a primeira copia e passa só o valor, enquanto a segunda copia e passa tudoDepois diga qualquer coisa... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
andoliveira4
Eu tenho um Excel chamado TESTE_ABRE_ARQUIVO e um outro chamado HBA_PROC9_1.xls, um em cada pasta
Explicação do cenario:
No meu arquivo TESTE_ABRE_ARQUIVO eu tenho nas respectivas celulas:
a1 = C:\PROJETOS\HBA\ACL\
a2 = HBA
a3 = _PROC9_1.xls
Ou seja essas 3 celulas formam um nome de arquivo neste caso C:\PROJETOS\HBA\ACL\HBA_PROC9_1.xls
Objetivo:
- Abrir um Excel ( HBA_PROC9_1.xls ) apartir das informacões que eu tenho do arquivo TESTE_ABRE_ARQUIVO
- Copiar o valor de A1 da planilha aberta dinamicamente, neste caso HBA_PROC9_1.xls
- Fechar HBA_PROC9_1.xls
- E Colar o valor na ceclula A20 da TESTE_ABRE_ARQUIVO
Script Realizado:
Conclusão
Eu consigo abrir a planilha + não consigo pegar o valor dela....o que eu faço por favor me ajudem???
Editado por andoliveira4Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.