5
Obrigado

Algumas palavras de agradecimento nunca são demais.

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

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.

0 Comentário