2017-10-25 3 views
0

マクロからProject.xlsxファイルを開くことができます。だから私はこれを私のマクロで使っています。場所Excelマクロの変数としてのパス

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

ただし、Project.xlsxの場所はランダムである場合があります。 project.xlsxのデフォルトの場所を含むmaster.xlsxという別のワークブックを作成する予定です。 ここに私のmaster.xlsxにはA2セルがあり、Project.xlsxの場所が含まれています。 enter image description here

マクロでコードを書く方法を教えてもらえますか?私はそれが似ていると思います

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

これはまさにそのようなものであるようです。それは動作しませんでしたか? –

+0

それは動作しませんでした。 –

答えて

1

基本資格を使用すると、VBAでマスターブックがどこにあるかを正確に知ることができます。

この手順では、Master.xlsxブックが開いていないことを前提としています。そして、そのパスを指定する必要があります。

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

ありがとうございます!できます! –

0

私は構文が'[WorkbookName]WorksheetName'!CellAddressと信じています。

あなたの場合は、Set oWB = Workbooks.Open(Range("'[Master.xlsx]Sheet1'!A2").Value & "Project.xlsx")です。

しかし、マクロをどこに保存していますか?マクロに対応したExcelファイルはありませんでした。

+0

マクロは別のExcelファイルにあります。それは "raspi.xlsm"にあります。 raspi.xlsmのマクロからproject.xlsxを開きたいとします。しかし、project.xlsxはmaster.xlsxにあります –

+0

あなたのメソッドを試しましたが、このエラーが発生しました: '1004'メソッド 'Range'オブジェクト '_Global' –

+0

@RaspiSurya申し訳ありません。 – PatricK

関連する問題