Notifications
Clear all

Passando variavel como parametro do workbook

3 Posts
3 Usuários
0 Reactions
798 Visualizações
(@vinicius-c)
Posts: 1
New Member
Topic starter
 

Pessoal estou fazendo uma macro que vai basicamente copiar dados fixos de uma planilha e colar nesta onde estará a macro,
porém este processo sera efetuado diversas vezes , fazendo essa copia de varias planilhas diferentes , então o nome das planilhas de que vou copiar os dados não são estáticos ,
oque eu tenho um esboço de código é algo do genero

Workbooks.Open Filename:="C:Usersvinicius.ViniciusDesktopexceltesteteste1.xlsx"

Workbooks("teste1.xlsx").Worksheets("Plan1").Range("A1:F3").Copy Destination:=Workbooks("1.xlsm").Worksheets("Planilha1").Range("a1")

Workbooks("teste1.xlsx").Close

porém todas as vezes que aparece o nome "teste1 " no caso eu queria que fosse o valor de uma célula dessa planilha , tipo Workbooks(range("A8").value).worksheet....
pois ai a pessoa que for utilizar a macro so precisara colocar o nome do workbook e pronto.

Alguem ai consegue me dar uma luz ?

 
Postado : 18/06/2017 11:23 pm
leandroxtr
(@leandroxtr)
Posts: 447
Reputable Member
 

Deixa eu ver se entendi..

Você está querendo copiar dados de outras planilhas em apenas 1 planilha, mas desde que estas sejam separadas em abas(sheet) para cada planilha?

Quer fazer isso para todas planilhas existentes na pasta de forma automatizada ou deseja selecionar cada manualmente e salva-las em cada aba da planilha?

Tente explicar melhor e anexe sua planilha que irá receber os dados e também as que irão ser "importadas" para que possamos ajudá-lo melhor! (ou anexe um exemplo)

Abraços

Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.

Abraços!
Leandro Cordeiro

 
Postado : 19/06/2017 7:14 am
(@osvaldomp)
Posts: 857
Prominent Member
 

...porém todas as vezes que aparece o nome "teste1 " no caso eu queria que fosse o valor de uma célula dessa planilha...

Exemplo, 'coloque os nomes dos arquivos em coluna a partir de 'M1'

Sub teste()
 Dim nomeArq As Range
  For Each nomeArq In Range("M1", Cells(Rows.Count, "M").End(3))
   Workbooks.Open Filename:="C:Usersvinicius.ViniciusDesktopexcelteste" & nomeArq.Value & ".xlsx"
  Next nomeArq
End Sub

Osvaldo

 
Postado : 19/06/2017 7:50 am