我试图将工作簿位置声明为变量,所以不必在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) 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
收到的错误是
编译错误:无效使用属性。
答案 0 :(得分:1)
您正在尝试将字符串分配给Workbooks
变量:
Dim location_1 As Workbooks
' ...
location_1 = "Table Separator (M2).xlsm"
一种快速解决方案是将变量定义为String
,但是您应该应用How to avoid using Select in Excel VBA中的建议,如@BigBen所述。