使用variables集作为活动工作簿时出错
我有一行代码似乎不pipe怎么写都会产生一个错误。 在这种情况下:
Set Wbk = ActiveWorkbook Wbk.Sht.Cells(Rw, 1) <> ""
我得到错误438
如果我改变最后一行
Workbooks(WbName).Sht.Cells(Rw, 1) <> ""
其中WbName
是活动工作簿名称,我得到错误9。
如果我开始Sht
工作簿, Sht
其设置为工作表,它将工作。
这个链接应该告诉你很多东西 。
至于你的问题,让我们详细说明tigeravatar评论。
如果你设置你的工作簿是这样的:
Set Wbk = Activeworkbook
而你的工作表是这样的:
Set Sht = Activeworkbook.Sheets("Sheet1")
这两个variables彼此独立。
正如tigeravatar所说,你不能像这样链接variables。
或者简单地说,这违反了Excel对象层次结构 。
有时候,你需要使用variables来引用另一个对象。
你可以试试这个通过Wbk
访问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) <> ""