2016-06-20 15 views
0

Ich habe eine Arbeitsmappe, die Befehlsschaltflächen zum Ausführen des Makros enthält. Ich möchte, dass der Dateipfad für Arbeitsmappe 3 in dem Arbeitsblatt unterhalb der Befehlsschaltfläche in Zelle B17 gespeichert wird. Ich möchte, dass das Makro unten auf diese Zelle verweist und automatisch Arbeitsmappe 3 öffnet. Der Dateipfad ändert sich jeden Tag und ich möchte ihn nicht auf der Entwickler-Registerkarte ändern müssen. Bitte helfen Sie!Wie kann ich eine Arbeitsmappe in einer anderen Arbeitsmappe referenzieren, um die Datei automatisch zu öffnen?

Sub NCFinal() 

Dim Wb1 As Workbook 
Dim Wb2 As Workbook 
Dim Wb3 As Workbook 

With Application 
.ScreenUpdating = False 
.EnableEvents = False 
.DisplayAlerts = False 
End With 

Set Wb1 = Workbooks.Open("A:Desktop\Excel Files\Data Template.xlsb") 
Set Wb2 = Workbooks.Open("A:Desktop\Excel Files\MarchData.xlsb") 
**Set Wb3 = Workbooks.Open(Filename:=Sheets("Sheet1").Range("B17").Value)** 
Wb1.Sheets("FRD").Copy After:=Wb2.Sheets("Sheet1") 
Wb3.Sheets("CDGL Data").Copy After:=Wb2.Sheets("FRD") 

Wb1.Close False 
Wb3.Close False 
+0

Welche Arbeitsmappe/Arbeitsblatt möchten Sie den Dateipfad in (Zelle B17) gespeichert werden? Sie könnten etwas wie wb1.sheets ('sheetname') machen. Cells (17,2) = wb3.FullName –

+0

Ihre markierte Zeile sieht so aus, als ob sie funktionieren sollte. Was ist das Problem genau? Was passiert, wenn Sie das ausführen? Erhalten Sie einen Fehler oder passiert etwas anderes unerwartet? –

+0

Ich erhalte eine Fehlermeldung @ ChrisMelville..Der Dateipfad, den ich öffnen möchte, befindet sich in einer anderen Arbeitsmappe, die ich manuell öffne, um die Befehlsschaltflächen – Hags

Antwort

2
Set Wb3 = Workbooks.Open(Filename:=ThisWorkbook.Sheets("Sheet1").Range("B17").Value) 
Verwandte Themen