Informatie lezen uit een gesloten werkmap met VBA in Microsoft Excel

Anonim

In Microsoft Excel is het verkrijgen van informatie uit een gesloten werkmap een van de meest tijdbesparende manieren om nauwkeurige gegevens te verkrijgen met behulp van VBA-code. In dit artikel leren we hoe u informatie uit een gesloten werkmap kunt lezen met VBA in Microsoft Excel.

Als u meerdere bestanden via e-mail of een andere bron ontvangt en u informatie in een bepaalde cel wilt opslaan, moet u deze tutorial lezen.

Om dit voorbeeld te begrijpen, moeten we enkele voorbeeldbestanden maken in een pad dat we in VBA-code zullen gebruiken; hier hebben we een aantal bestanden (Noord- en West-bestanden) opgeslagen in het pad "D:\testing".

Om gegevens uit alle Excel-bestanden in een map te extraheren, moeten we de onderstaande stappen volgen om de VB-editor te starten:

  • Klik op het tabblad Ontwikkelaar
  • Selecteer in de codegroep Visual Basic

  • Kopieer onderstaande code in de standaard module
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" ' maak een lijst met werkmappen in mapnaam' --- Commentaar wbCount = 0 wbName = Dir(FolderName & "\" & "*.xls") While wbName "" wbCount = wbCount + 1 Redim Preserve wbList(1 To wbCount) wbList(wbCount) = wbName wbName = Dir Wend If wbCount = 0 Dan Exit Sub ' get values ​​from each workbook' --- Comment r = 0 Workbooks.Add For i = 1 To wbCount r = r + 1 cValue = GetInfoFromClosedFile(FolderName, wbList(i), "Sheet1", "A1") Cellen(r, 1).Formula = wbList(i) Cells(r, 2).Formula = cValue Volgende i 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 & "[" & wb Naam & "]" & _ wsNaam & "'!" & Range(cellRef).Address(True, True, xlR1C1) On Error Hervat volgende GetInfoFromClosedFile = ExecuteExcel4Macro(arg) End Function 

We moeten de macro uitvoeren en het volgende is de momentopname van het resultaat:

Conclusie: Met behulp van bovenstaande code kunnen we gegevens uit een gesloten werkmap uit een specifieke cel halen.

Opmerking: cel A1 wordt als voorbeeld gebruikt; als u gegevens uit een andere cel wilt ophalen, hoeft u alleen die cel te vermelden.

Als je onze blogs leuk vond, deel deze dan met je vrienden op Facebook. En je kunt ons ook volgen op Twitter en Facebook.

We horen graag van je, laat ons weten hoe we ons werk kunnen verbeteren, aanvullen of vernieuwen en het voor jou beter kunnen maken. Schrijf ons op de e-mailsite