Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 每周打开相同的工作簿,但路径不同_Vba - Fatal编程技术网

Vba 每周打开相同的工作簿,但路径不同

Vba 每周打开相同的工作簿,但路径不同,vba,Vba,我想每周打开一个位于不同文件夹中的文件(文件名保持不变,但new week=new data) week文件夹显然是W44。是否有一种方法可以使用代码中考虑的单元格内容 例如,运行代码的文件sheet1的单元格A1将包含在运行过程之前手动输入的周数 我试过了,但没有成功: Workbooks.Open "C:\Users\baguette\Documents\& ThisWorkbook.Worksheets(1).Range("A1")\L060.xlsx

我想每周打开一个位于不同文件夹中的文件(文件名保持不变,但new week=new data)

week文件夹显然是W44。是否有一种方法可以使用代码中考虑的单元格内容

例如,运行代码的文件sheet1的单元格A1将包含在运行过程之前手动输入的周数

我试过了,但没有成功:

Workbooks.Open "C:\Users\baguette\Documents\& ThisWorkbook.Worksheets(1).Range("A1")\L060.xlsx"
我想这有点鲁莽


感谢您的帮助。

您已经非常接近您的解决方案。试试下面-

Workbooks.Open "C:\Users\baguette\Documents\" & _
            ThisWorkbook.Worksheets(1).Range("A1") & _
            "\L060.xlsx"
可以使用字符串类型变量修饰代码。检查下面的子项

Sub OpenSpecificFile()
Dim FolderPath As String
Dim WeekFolder As String

    FolderPath = "C:\Users\baguette\Documents\"
    WeekFolder = ThisWorkbook.Worksheets(1).Range("A1")
    
    Workbooks.Open (FolderPath & WeekFolder & "\L060.xlsx")

End Sub
Sub OpenSpecificFile()
Dim FolderPath As String
Dim WeekFolder As String

    FolderPath = "C:\Users\baguette\Documents\"
    WeekFolder = ThisWorkbook.Worksheets(1).Range("A1")
    
    Workbooks.Open (FolderPath & WeekFolder & "\L060.xlsx")

End Sub