如何解决通过Excel中的VBA从非活动表中选择引用范围
给出某个范围rngRange
,例如set rngRange = Workbooks(2).Worksheets(5).Range("C4:P49")
如果使用rngRange.select
,如果包含范围的表不是活动的窗口/工作簿/表(例如wbWorkbook.Activate
和wsWorsheet.Activate
),则会抛出一条错误消息。单独使用rngRange.Activate
无效(抛出错误),可能是一个简单的问题。但是不知何故我今天失明了。
是否可以直接“激活”范围而无需先激活工作簿/工作表?如果没有,我能否以某种方式从范围引用中获取工作簿/工作表引用(请注意,整个事情都在仅获取范围引用的函数内,我想避免添加wbWorkbook /工作表引用,因为我必须还要更改所有函数调用)?
解决方法
rngRange.Parent 'gives you the sheet
rngRange.Parent.Parent 'gives you the workbook
因此您可以使用它们来.Activate
。
rngRange.Parent.Parent.Activate
rngRange.Parent.Activate
rngRange.Select
或者如@Viktor所述:
Application.Goto rngRange
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。