Notifications
Clear all

Sheets e workbooks

5 Posts
4 Usuários
0 Reactions
1,145 Visualizações
(@faguiar)
Posts: 0
New Member
Topic starter
 

Galera, boa noite.

Estou tentando criar um código onde os arquivos em excel de uma pasta se tornariam sheets uma ao lado da outra.
Exemplo:
Suponha-se que tenho 12 workbooks em uma pasta, cada um representando um mês do ano.
Estou querendo colocar esses 12 arquivos em um único com as 12 planilhas.
Não consigo colocar uma do lado da outra, tenho isso aqui por enquanto.

Sub abrirarquivosalvo()
arquivoparaabrir = Application.GetOpenFilename("Arquivo do  Excel (*xlsx), *.xl*", _
Title:="Escolha os arquivos", _
MultiSelect:=True)
If arquivoparaabrir = False Then
MsgBox "Nenhum Arquivo Selecionado.", vbExclamation"
Exit Sub
Else
Workbooks.Open Filename:=arquivoparaabrir
End If

Se puderem me ajudar...

Obrigado.

 
Postado : 31/01/2017 7:50 pm
(@teleguiado)
Posts: 0
New Member
 

Tente pesquisar na internet por como mesclar vários arquivos do excel.

viewtopic.php?f=10&t=21634

 
Postado : 31/01/2017 8:26 pm
(@brunoxro)
Posts: 0
New Member
 

Boa noite Faguiar,

Recentemente coloquei no forum um código que faz algo que acredito que seja similar ao que você deseja.
De uma lida: viewtopic.php?p=117168#p117160

Se precisar que adapte alguma coisa, basta avisar.

att,

 
Postado : 31/01/2017 9:46 pm
(@walter29)
Posts: 0
New Member
 

Olá amigo, bom dia!

Veja se isso ajuda com o seu problema.

'Planilhando Dúvida: http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=23414
'Autor:  Walter Bernal
'Data:   02/02/2017
'Versão 1.0

Option Explicit

Private Sub lLocalizarImportar()

    Dim lNomeSheet As String
    Dim lbuscar As Variant
    
    Application.ScreenUpdating = False
    
    lNomeSheet = InputBox("Qual será o nome da Sheet?", "Informação")
    
    If lNomeSheet = "" Then
    
    MsgBox "Você deve inserir um nome"
    Exit Sub
       
    End If
    
    lbuscar = Application.GetOpenFilename

    If lbuscar <> False Then

        Sheets("Home").Select
        Sheets.Add , After:=ActiveSheet, Type:=lbuscar
        ActiveSheet.Name = lNomeSheet
        Range("A1").Select

    Else

        Exit Sub
    
    End If
    
     MsgBox "Importação concluída"

    Application.ScreenUpdating = True

End Sub


Sub lExecutar()

    Call lLocalizarImportar
   
End Sub

Abraço!
:mrgreen: :geek: :ugeek:

 
Postado : 02/02/2017 12:34 am
(@faguiar)
Posts: 0
New Member
Topic starter
 

Walter 29, obrigado pela ajuda.

Mas ficaria melhor uma que abrisse todas as workbooks de uma vez só e não uma por uma.
obs: Não precisa por o nome da sheet.O nome pode ser o nome da workbook.
E ainda, as sheets poderiam estar organizadas de acordo com a ordem que eu clicasse no arquivo na hora de selecionar os arquivos que quero importar.
se algum puder ajudar...

obrigado,galera

 
Postado : 05/02/2017 4:35 pm