当我想编写VBA以将数据从特定路径复制到另一个工作簿时,我遇到了一个问题
Sub Scorecard()
Dim Target_Workbook As Workbook
Dim Templete As Workbook
Dim Path As String
Dim a As Long
a = InputBox(Prompt:="Week End Date:", _
Title:="Enter Your Week End Date ", Default:="")
Path = "C:\Users\Pudge\Desktop\Report\Scorecard\"&a"\Scorecard.xlsx"
Set Target_Workbook = Workbooks.Open(Path)
Set Template = ThisWorkbook
End Sub
我想使用变量a来引导路径根据我提供的不同文件夹;
因为在记分卡文件夹中,有许多名称为例如1,2,3,5,5的子文件夹;所以我想做的是如果我给a的vaule 1,让我们打开文件夹1中的scorecard.xlsx。
但它一直给我编译错误..
如果您有任何想法,请给我一个帮助。
THX 屠夫
答案 0 :(得分:0)
首先,您的Path
变量存在上述问题。我已经提到过,为了提供一个完整的解决方案。
宏开头有拼写错误;您已标注Templete
,但后来提到了Template
。
我认为您的主要问题很可能在于您的变量a
。它可能导致错误/无效的路径引用。没有必要将其标注为Long
;由于您将其与其他字符串连接起来,因此使用String
更合乎逻辑。
请参阅以下示例代码:
Sub Scorecard()
Dim Target_Workbook, Template As Workbook
Dim Path, a As String
a = InputBox(Prompt:="Week End Date:", Title:="Enter Your Week End Date")
Path = "C:\Users\Pudge\Desktop\Report\Scorecard\" & a & "\Scorecard.xlsx"
Set Target_Workbook = Workbooks.Open(Path)
Set Template = ThisWorkbook
End Sub
虽然我没有测试上面的代码,但它应该工作。尝试替代输入;尝试使用简单的数字开始,并验证路径是否正确。
如果可行,但您选择的应用程序不存在,则可能是您的用户输入存在问题。