繁体   English   中英

VBA Excel表格。范围。值错误

[英]vba excel sheets.range.value Error

因此,有时当我尝试执行此命令时,它给我一个错误。 问题是它非常不一致。 在某些情况下,它可以工作,而在其他情况下,则不能。

这是getCellVal函数的代码行。 cellName是一个字符串,s是一个整数。

getCellVal = Sheets(s).Range(cellName).Value

这次是给我的:运行时错误“ 438”:对象不支持此属性或方法

这条线实际上在没有问题的情况下就可以正常工作了。 我添加了使用它的其他一些功能,现在它不再起作用。

有什么想法吗?

Sheets集合的不合格调用隐式地引用了当前处于活动状态的任何工作簿,并且重要的是要知道该集合包含Worksheet对象,也包括Chart对象。

由于您打算使用Worksheet ,因此请改用Worksheets集合。

如果没有出现“索引超出范围”错误,那么您所要求的工作表确实存在。 但是错误438指出该工作表不是Worksheet (因此没有Range成员)。

我敢打赌,活动工作簿的索引表为s

解决方案只是要明确。

如果您打算使用包含正在运行的代码的工作簿,请使用ThisWorkbook限定Workbook成员调用:

getCellVal = ThisWorkbook.Worksheets(s).Range(cellName).Value

如果你的意思是一个工作簿的工作,那么你需要得到阿霍德的的Workbook对象,当你打开它:

Dim wb As Workbook
Set wb = Application.Workbooks.Open(path)
'...
getCellVal = wb.Worksheets(s).Range(cellName).Value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM