No VBA, as diferentes técnicas de leitura de dados em um arquivo Excel são bastante redundante pela sua complexidade. No entanto, existe uma pequena dica que permite contornar isto, sem utilizar a conexão OLE DB, porém unicamente para leitura.
Nós temos necessidade, em nossa planilha de Recap, ter as informações situadas no espaço de células A1 :F10 da folha Folh1 de uma planilha fonte, ela mesma situada no diretório C:\Pijaku\Não_faz_nada_de_seus_dias\CCM\. Então, para começar, abrimos uma planilha, Pijakuem Folh1 da célula A1 na célula F10 e registramos como fonte.xls no diretório: C:\Pijaku\Não_faz_nada_de_seus_dias\CCM\. Fechemos esta planilha e abrimos uma segunda planilha Excel e a registremos como Recap.xls, no desktop (por exemplo).
O método, através do Excel:
Na sua planilha Recap.xls insira um nome definido, no menu Inserção escolha Nome e clique emDefinir.Nomes na planilha > digitar: espaço. Faça referência à > digitar ='C:\Pijaku\Não_faz_nada_de_seus_dias\CCM\[source.xls]Folh1'!$A$1:$F$10
Clique em Adicionar
Na nossa planilha, na coluna A1 digite a fórmula: =espaço e depois valide. Estenda esta fórmula sobre todo o espaço de A1 à F10...
O código VBA correspondente
Sub ImportarDadosSemAbrir() Dim Caminho As String, Arquivo As String Caminho = "C:\Pijaku\Não_faz_nada_de_seus_dias\CCM\" Arquivo= "source.xls" ThisWorkbook.Names.Add "espaço", _ RefersTo:="='" & Caminho & "[" & Arquivo & "]Folh1'!$A$1:$F$10" With Sheets("Folh2") .[A1:F10] = "=espaço" .[A1:F10].Copy Sheets("Folh1").Range("A1").PasteSpecial xlPasteValues .[A1:F10].Clear End With End Sub
Precauções do emprego
Verifique, principalmente, o caminho de acesso ao diretório, a ortografia, a quebra que são detalhes são importantes. Também verifique o \ entre o caminho do diretório e o nome da planilhaDownload
Você pode baixar a planilha fonte por exemplo bem como a planilha recap.Fonte: http://br.ccm.net/faq/
0 comentários:
Os comentários serão moderados antes de publicar! respondo todos, obrigado por comentar.