VBA Excel: ler em uma planilha fechada

No VBA, as diferentes técnicas de leitura de dados em um arquivo Excel são bastante redundantes pela sua complexidade. No entanto, existe uma pequena dica que permite contornar esse problema sem utilizar a conexão OLE DB, porém unicamente para leitura.

Se você quiser ler uma planilha fechada, existe um código específico para isso, exigindo apenas que você realize pequenas alterações com base nas especificidades do seu arquivo, como local de armazenamento e nome.

Para fazer isso, o que você deverá fazer é abrir o Excel e ir na aba Desenvolvedor > Visual Basic:

Na interface do VBA, agora clique em Inserir > Módulo:

Por fim, na janela em branco que aparece na tela, cole o comando a seguir. Não deixe de fazer os ajustes devidos:

Sub ReadDataFromAllWorkbooksInFolder()
Dim FolderName As String, wbName As String, cValue As Variant
Dim wbList As String, sValuePlan1 As String
'Path (Diretorio) -Ajustar o Caminho
FolderName = "C:\Foldername"
'Nome do Arquivo de onde extrairemos a informação
wbName = Dir(FolderName & "\" & "Teste.xls")
'Armazenamos nas Variaveis
wbList = wbName
wbName = Dir
'le o Valor no workbook
cValue = GetInfoFromClosedFile(FolderName, wbList, "Plan1", "A1")
'Msgbox com o Valor em A1
MsgBox "O Valor em A1 - Plan1 é :- " & cValue
'Armazenamos o Valor na variavel
sValuePlan1 = cValue
'Coloca o Valor na Celula
Cells(1, 1).Formula = cValue
End Sub
Private Function GetInfoFromClosedFile(ByVal wbPath As String, _
wbName As String, _
wsName As String, _
cellRef As String) As Variant
Dim arg As String
GetInfoFromClosedFile = ""
If Right(wbPath, 1) <> "\" Then wbPath = wbPath & "\"
If Dir(wbPath & "\" & wbName) = "" Then Exit Function
arg = "'" & wbPath & "[" & wbName & "]" & _
wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1)
On Error Resume Next
GetInfoFromClosedFile = ExecuteExcel4Macro(arg)
End Function

Foto: © RoSonic - Shutterstock.com

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Veja também
Este documento, intitulado 'VBA & Excel: ler em uma planilha fechada ', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade