Excel 将工作簿声明为变量
我试图将工作簿位置声明为变量,这样就不必更改100个位置的名称。仅当目标更改时,代码块才会被复制多次Excel 将工作簿声明为变量,excel,vba,Excel,Vba,我试图将工作簿位置声明为变量,这样就不必更改100个位置的名称。仅当目标更改时,代码块才会被复制多次 Sub copyToDatabase_2() ' ' Copy from seperator to DB ' Dim location_1 As Workbooks Dim location_2 As Workbooks location_1 = "Table Separator (M2).xlsm" location_2 = "TCE-525 (M2) DA
Sub copyToDatabase_2()
'
' Copy from seperator to DB
'
Dim location_1 As Workbooks
Dim location_2 As Workbooks
location_1 = "Table Separator (M2).xlsm"
location_2 = "TCE-525 (M2) DAVID.xlsm"
Windows(location_1).Activate
Range("A5:E16").Select
Selection.Copy
Windows(location_2).Activate
Range("R3").Select
ActiveSheet.Paste
Windows(location_1).Activate
Range("A19:E30").Select
Selection.Copy
Windows(location_2).Activate
Range("R35").Select
ActiveSheet.Paste
End Sub
收到的错误是
编译错误:属性的使用无效
您正在尝试将字符串分配给
工作簿
变量:
Dim location_1 As Workbooks
' ...
location_1 = "Table Separator (M2).xlsm"
一个快速解决方法是将变量定义为
String
,但您应该在中应用建议,如@BigBen所述。很抱歉,我对Excel VBA不太熟悉,仅在线课程可查看。这将有助于您避免使用选择
和激活
,以及如何引用每个工作簿。谢谢您的回答。谢谢您的回答。这与BigBen@dcole204点击左侧的复选标记,将答案标记为“已接受”,很高兴您的问题得到解决。