Notifications
Clear all

Como copiar planilhas utilizando código VBA do Excel

4 Posts
2 Usuários
0 Reactions
1,401 Visualizações
(@jorge24)
Posts: 31
Trusted Member
Topic starter
 

Olá,

estou a precisar de uma ajuda. Preciso de copiar duas planilhas utilizando código VBA do Excel de um determinado livro para 70 livros diferentes!!!!

Já estive a ver este link ( https://support.microsoft.com/pt-pt/kb/288402 ) mas não consigo adaptar o código.

Alguém me pode ajudar???

Obrigado

 
Postado : 12/05/2015 6:44 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sub copiar()

worksheets("Sua Planilha").Copy 'Cria uma cópia em outro arquivo
worksheets("Sua Planilha").Copy After:=worksheets("Sua Planilha") 'Cria uma cópia no mesmo arquivo
worksheets("Sua Planilha").Copy Beforer:=worksheets("Sua Planilha") 'Cria uma cópia no mesmo arquivo

end sub

 
Postado : 12/05/2015 7:45 am
(@jorge24)
Posts: 31
Trusted Member
Topic starter
 

Preciso de adaptar este código!!! alguém ajuda aí...

Mover várias folhas ActiveWorkbook para outro livro

Sub Mover3()
Dim BkName As String
Dim NumSht As Integer
Dim BegSht As Integer

'Starts with second sheet - replace with index number of starting sheet.
BegSht = 2
'Moves two sheets - replace with number of sheets to move.
NumSht = 2
BkName = ActiveWorkbook.Name

For x = 1 To NumSht
'Moves second sheet in source to front of designated workbook.
Workbooks(BkName).Sheets(BegSht).Move _
Before:=Workbooks("Test.xls").Sheets(1)
'In each loop, the next sheet in line becomes indexed as number 2.
'Replace Test.xls with the full name of the target workbook you want.
Next
End Sub

 
Postado : 12/05/2015 7:56 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Jorge, detalhe melhor o que pretende :
Preciso de copiar duas planilhas utilizando código VBA do Excel de um determinado livro para 70 livros diferentes!!!!
70 livros diferentes ???

Depois você disse "Mover várias folhas ActiveWorkbook para outro livro"
Fiquei confuso, e quanto a rotina que postou, para copiar as abas de um Workbook para outro, a mesma ficaria assim :

Ela irá copiar duas abas ( NumSht = 2) - inicinado na segunda (sAbaInicio = 2) para um outro arquivo conforme o nome estiver dentro desta linha :
Workbooks("NomeDoArquivoDeDestino.xlsx") - Lembrando que este arquivo tem de estar aberto ao mesmo tempo.

Sub CopiarVariasAbasParaOutro_Wkbk()
   Dim BkName As String
   Dim NumSht As Integer
   Dim sAbaInicio As Integer

   'Inicia na segunda Aba - Troque o numero do indice se for iniciar em aba diferente.
   sAbaInicio = 2
   'Copia duas abas - ajuste com o numero de abas que quer copiar.
   NumSht = 2
   
   'Nome do Livro ativo (Workbook)
   BkName = ActiveWorkbook.Name
    
    For x = 1 To NumSht
      
      Workbooks(BkName).Sheets(sAbaInicio).Copy _
         Before:=Workbooks("NomeDoArquivoDeDestino.xlsx").Sheets(1)
         
         'Incrementa o numero das abas para copiar
         sAbaInicio = sAbaInicio + 1
    
    Next
End Sub

[]s

 
Postado : 12/05/2015 8:33 am