Leia as informações de uma pasta de trabalho fechada usando o VBA no Microsoft Excel

Anonim

No Microsoft Excel, obter informações de uma pasta de trabalho fechada é uma das maneiras que mais economizam tempo para obter dados precisos usando o código VBA. Neste artigo, aprenderemos como ler informações de uma pasta de trabalho fechada usando o VBA no Microsoft Excel.

Se você está recebendo vários arquivos por e-mail ou qualquer outra fonte e deseja obter informações armazenadas em uma célula específica, então você deve ler este tutorial.

Para entender este exemplo, precisamos criar alguns arquivos de amostra em um caminho que usaremos no código VBA; aqui, salvamos alguns arquivos (arquivos do Norte e Oeste) no caminho “D: \ teste”.

Para extrair dados de todos os arquivos do Excel em uma pasta, precisamos seguir as etapas abaixo para iniciar o editor VB:

  • Clique na guia Desenvolvedor
  • No grupo Código, selecione Visual Basic

  • Copie o código abaixo no módulo padrão
Sub ReadDataFromAllWorkbooksInFolder () Dim FolderName As String, wbName As String, r As Long, cValue As Variant Dim wbList () As String, wbCount As Integer, i As Integer FolderName = "D: \ testing" 'criar lista de pastas de trabalho em foldername' --- Comentário wbCount = 0 wbName = Dir (FolderName & "\" & "* .xls") Enquanto wbName "" wbCount = wbCount + 1 ReDim Preserve wbList (1 para wbCount) wbList (wbCount) = wbName wbName = Dir Wend If wbCount = 0 Then Exit Sub 'obter valores de cada pasta de trabalho' --- Comentário r = 0 Workbooks.Add For i = 1 To wbCount r = r + 1 cValue = GetInfoFromClosedFile (FolderName, wbList (i), "Sheet1", "A1") Células (r, 1) .Formula = wbList (i) Células (r, 2) .Formula = cValue Next i End Sub Função privada 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) = "" Então Sair da Função arg = "'" & wbPath & "[" & wb Nome & "]" & _ wsName & "'!" & Range (cellRef) .Address (True, True, xlR1C1) On Error Resume Next GetInfoFromClosedFile = ExecuteExcel4Macro (arg) End Function 

Precisamos executar a macro e o seguinte será o instantâneo do resultado:

Conclusão: Usando o código acima, podemos obter dados de uma pasta de trabalho fechada de uma célula específica.

Nota: a célula A1 é usada como exemplo; se quiser recuperar dados de qualquer outra célula, basta mencionar essa célula.

Se você gostou de nossos blogs, compartilhe com seus amigos no Facebook. E você também pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar, complementar ou inovar nosso trabalho e torná-lo melhor para você. Escreva-nos no site de e-mail