Werte aus einer geschlossenen Arbeitsmappe mit VBA in Microsoft Excel bekommen
In diesem Artikel erstellen wir eine Prozedur zum Abrufen von Daten aus einer geschlossenen Arbeitsmappe in eine aktive Arbeitsmappe mithilfe von VBA-Code.
Rohdaten, die wir abrufen möchten, befinden sich im Bereich A13: E22 auf Blatt „Sheet1“ in der Datei „DataFile.xlsx“, die sich im Pfad „C: \ Users \ Ramandeep \ Desktop“ befindet.
Logische Erklärung
In diesem Artikel haben wir zwei Verfahren erstellt: -. CallingMainProcedure. GetValuesFromAClosedWorkbook
CallingMainProcedure-Prozedur
Diese Prozedur wird zum Aufrufen der Prozedur „GetValuesFromAClosedWorkbook“ verwendet. Es weist dem Parameter der Prozedur „GetValuesFromAClosedWorkbook“ Werte zu.
GetValuesFromAClosedWorkbook-Prozedur
Bei diesem Verfahren werden der Dateipfad und der Dateiname der geschlossenen Arbeitsmappe als Parameter verwendet. Außerdem werden der Blattname und der Bereich aus der geschlossenen Arbeitsmappe als Parameter verwendet. Unter Verwendung des Wertes des Eingabeparameters wird eine Array-Formel in den Bereich A13: E22 des aktiven Blattes eingegeben, als \ {= ‚C: \ Users \ Ramandeep \ Desktop \ [DataFile.xlsx] Sheet1‘! A13: E22} Array-Formel bringt die erforderliche Daten aus der geschlossenen Arbeitsmappe. Sobald Daten auf das aktive Blatt abgerufen wurden, werden Formeln aus dem Blatt entfernt, indem die Formeln durch den Wert ersetzt werden.
Bitte folgen Sie unten für den Code
Option Explicit Sub CallingMainProcedure() 'Calling GetValuesFromAClosedWorkbook procedure 'Specifying the file path, filename, sheet name and range of data GetValuesFromAClosedWorkbook "C:\Users\Ramandeep\Desktop", "DataFile.xlsx", _ "Sheet1", "A13:E22" End Sub Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) With ActiveSheet.Range(cellRange) 'Assigning the array formula to the specified range .FormulaArray = "='" & fPath & "\[" & fName & "]" & sName & "'!" & cellRange 'Removing formula from the cell and pasting the values in the cell .Value = .Value End With End Sub
Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]