In Microsoft Excel ist das Abrufen von Informationen aus einer geschlossenen Arbeitsmappe eine der zeitsparendsten Möglichkeiten, um mithilfe von VBA-Code genaue Daten abzurufen. In diesem Artikel erfahren Sie, wie Sie Informationen aus einer geschlossenen Arbeitsmappe mit VBA in Microsoft Excel.

lesen Wenn Sie mehrere Dateien per E-Mail oder einer anderen Quelle erhalten und Informationen in einer bestimmten Zelle speichern möchten, sollten Sie dieses Lernprogramm lesen.

Um dieses Beispiel zu verstehen, müssen wir einige Beispieldateien in einem Pfad erstellen, den wir im VBA-Code verwenden. Hier haben wir einige Dateien (Nord- und Westdateien) im Pfad „D: \ testing“ gespeichert.

Um Daten aus allen Excel-Dateien in einem Ordner zu extrahieren, müssen Sie die folgenden Schritte ausführen, um den VB-Editor zu starten:

Klicken Sie auf die Registerkarte Entwickler. Wählen Sie in der Gruppe Code die Option Visual Basic

img1

aus * Kopieren Sie den folgenden Code in das Standardmodul

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"

' create list of workbooks in foldername' --- Comment

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 Then 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")

Cells(r, 1).Formula = wbList(i)

Cells(r, 2).Formula = cValue

Next 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 & "[" & wbName & "]" & _

wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1)

On Error Resume Next

GetInfoFromClosedFile = ExecuteExcel4Macro(arg)

End Function

img2

img3

Wir müssen das Makro ausführen und es folgt die Momentaufnahme des Ergebnisses:

img4

===

Schlussfolgerung: Mit dem obigen Code können wir Daten aus einer geschlossenen Arbeitsmappe aus einer bestimmten Zelle abrufen.

Hinweis: Die Zelle A1 wird als Beispiel verwendet. Wenn Sie Daten aus einer anderen Zelle abrufen möchten, müssen Sie diese Zelle nur erwähnen.

image 48

Wenn Ihnen unsere Blogs gefallen haben, teilen Sie sie Ihren Freunden auf Facebook mit. Sie können uns auch auf Twitter und Facebook folgen.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern, ergänzen oder innovieren und für Sie verbessern können. Schreiben Sie uns an [email protected]