
Ich möchte eine Spalte mit Werten aus einer anderen Arbeitsmappe abrufen und eine Registerkarte in meiner aktuellen Arbeitsmappe füllen. Dies wird letztendlich in ein viel längeres Modul einfließen, das ich geschrieben habe und das großartig funktioniert. Ich wollte nur, dass dieser Schritt automatisiert wird. Unten ist der Code.
Ich bekomme einIndex außerhalb des gültigen BereichsFehler in der Einfügezeile. Es scheint, als ob meine Anweisungseinstellung nicht currentWb
funktioniert, ThisWorkbook
da die zweite Arbeitsmappe, aus der kopiert wird, noch geöffnet ist, der Bereich ausgewählt und kopiert ist und nur auf ein Ziel zum Einfügen wartet. Ich habe gesucht und alles versucht, was mir eingefallen ist.
Sub OpenWorkbookToPullData()
Dim sUserInput As String
sUserInput = InputBox("Enter Account Folder Name:", "Folder Name")
Dim path As String
path = "C:\users\" & Environ$("username") & "\OneDrive\Documents\Brightree\" & sUserInput & "\Financial Scorecard\Exceptions.xlsm"
Dim currentWb As Workbook
Set currentWb = ThisWorkbook
Dim exceptionWb As Workbook
Set exceptionWb = Workbooks.Open(path)
Dim exceptionWs As Worksheet
Set exceptionWs = exceptionWb.Sheets("Exceptions")
Dim rng_data As Range
Set rng_data = exceptionWs.Range("A1:A20")
rng_data.Copy
currentWb.Sheets("Exception").Range("A1").PasteSpecial xlPasteValues
exceptionWb.Close (False)
End Sub
Antwort1
Sie müssen sicherstellen, dassBlätter("Ausnahmen")existiert inbeideArbeitsmappen.
Und alsVerdrehtweist darauf hin; überprüfen Sie die Schreibweise der Arbeitsblattnamen.