Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Buscar planilha!

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
CH7
Colaborador
Colaborador
Mensagens: 12
Registrado em: Qui Jan 31, 2019 12:13 pm

Buscar planilha!

Mensagem por CH7 »

Bom dia, estou com um problema simples acho eu. Preciso que ao clicar no botão que está na planilha do Excel ele abra uma pasta a minha escolha que está no "explorador de arquivos" e ative a planilha que eu selecionar.
O código seria em um modulo.

Obrigado pela atenção!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: Buscar planilha!

Mensagem por srobles »

CH7,

Veja se a rotina abaixo atende sua necessidade.

Adicione um modulo e copie e cole o que segue :

Código: Selecionar todos

Sub abrirArquivo()
    Dim caixaArquivo As Office.FileDialog
    Dim nomeArquivo As String
    
    Set caixaArquivo = Application.FileDialog(msoFileDialogFilePicker)
    
    With caixaArquivo
        .AllowMultiSelect = False
        .Filters.Clear
        .Filters.Add "Arquivos do Excel", "*.xls?", 1
        .Title = "Abrir arquivo"
        
        .Show
        
        'Se houver erro, vá para o tratamento
        On Error GoTo trataErro
           'Armazenamos o arquivo selecionado em uma variavel
            nomeArquivo = .SelectedItems.Item(1)
            'Na linha 1 na coluna B, preenchemos com o local e nome do arquivo selecionado
            ThisWorkbook.Sheets(1).Cells(1, 2) = nomeArquivo
            
            'Abrimos o arquivo
            Workbooks.Open nomeArquivo
            'Ativamos a janela do arquivo
            Windows(nomeArquivo).Activate
            'Saimos da rotina
            Exit Sub

'Tratamento de erro            
trataErro:
    'Se o erro for 5 (Botão cancelar / fechar a caixa de abrir arquivo)
    If Err = 5 Then
        'Preenchemo na linha 1 na coluna B com o texto
        ThisWorkbook.Sheets(1).Cells(1, 2) = "Nenhum arquivo selecionado"
    End If
    End With
End Sub
No botão da planilha :

Código: Selecionar todos

   Call abrirArquivo
Espero ter ajudado.

Abs


Responder