我有一行代码似乎无论如何编写都会产生错误。 在这种情况下:
Set Wbk = ActiveWorkbook
Wbk.Sht.Cells(Rw, 1) <> ""
我收到错误438
如果我将最后一行更改为
Workbooks(WbName).Sht.Cells(Rw, 1) <> ""
其中WbName
是活动工作簿名称,我收到错误9。
如果我开始废弃工作簿,只需设置为工作表的Sht
即可。
答案 0 :(得分:1)
This link should tell you a lot of things。
至于你的问题,让我们详细说明tigeravatar的评论。
如果您将工作簿设置为:
Set Wbk = Activeworkbook
你的工作表是这样的:
Set Sht = Activeworkbook.Sheets("Sheet1")
这两个变量彼此独立
正如tigeravatar所说,你不能链接这样的变量
或者简单地说,这违反了 Excel对象层次结构
有时你需要在引用另一个对象时使用变量
您可以尝试通过Sht
:
Wbk
If Wbk.Sheets(Sht.Name).Cells(Rw, 1) <> "" Then
或者如果您想使用Sht
访问工作簿:
Sht.Parent.Sheets("Sheet1").Cells(Rw, 1) <> ""
或类似的东西:
Sht.Parent.Parent.Worksbooks(Wbk.Name).Sheets(Sht.Name).Cells(Rw, 1) <> ""