2017-10-25 2 views
0

Ich möchte Excel-Datei Project.xlsx aus Makro öffnen. Also benutze ich das in meinem Makro.Position Pfad als Variable in Excel Makro

Workbooks.Open ("C:\Users\Project.xlsx") 

Der Speicherort für Project.xlsx kann jedoch zufällig sein. So plane ich, eine andere Arbeitsmappe namens master.xlsx zu erstellen, die den Standardspeicherort für project.xlsx enthält. Hier ist mein Master.xlsx mit Zelle A2 enthält den Speicherort für Project.xlsx. enter image description here

Kann jemand mir helfen, wie man den Code im Makro für jetzt schreibt? Ich denke, es wird wie

Workbooks.Open (Master.xlsx!Sheet1!A2 & "Project.xlsx") 
+0

Es sieht so aus, als sollte es genau so sein. Hat es nicht funktioniert? –

+0

hat es nicht funktioniert. –

Antwort

1

Sie können Basisqualifikationen verwenden, damit VBA genau weiß, wo es die Master-Arbeitsmappe finden kann.

Bei dieser Prozedur wird davon ausgegangen, dass die Arbeitsmappe Master.xlsx nicht geöffnet ist. Und Sie müssen den Pfad dazu angeben.

Sub tmp() 
    Dim master_wb As Workbook, project_wb As Workbook 

    Set master_wb = Workbooks.Open(path_to_your_master_workbook & "\Master.xlsx") 

    Set project_wb = Workbooks.Open(_ 
     master_wb.Sheets("Sheet1").Range("A2").Value & "Project.xlsx") 

    master_wb.Close 
End Sub 
+0

danke !! Es klappt! –

0

Ich glaube, die Syntax ist '[WorkbookName]WorksheetName'!CellAddress.

In Ihrem Fall, Set oWB = Workbooks.Open(Range("'[Master.xlsx]Sheet1'!A2").Value & "Project.xlsx").

Aber ich frage mich, wo speichern Sie das Makro? Da keiner eine Makro-Enabled Excel-Datei angezeigt.

+0

Makro ist in einer anderen Excel-Datei. so ist es in "raspi.xlsm". Ich möchte project.xlsx aus Makro in raspi.xlsm öffnen. Aber der Speicherort von project.xlsx ist in master.xlsx –

+0

Ich habe versucht, Ihre Methode und diesen Fehler kommen: Fehler '1004' Methode 'Bereich' des Objekts '_Global' –

+0

@RaspiSurya Sorry, ich lege die '' 'an der falschen Stelle. – PatricK