首页 > 解决方案 > 将范围值分配给变量时出错表明它未设置(尽管它不是对象)

问题描述

我一直在尝试实现以下宏来简化 excel 文件的格式设置,但在启动时它指示错误 91 作为未设置的对象。我的问题是我不是在操作一个对象(至少不是在调试器标记我错误的行上)而是将一个变量(双精度)修改为找到的单元格的值。

代码:

Dim id_UO As Double
Dim id_UO_Up As Double
id_UO = Source.Cells(x,1).Value
id_UO_Up = Source.Cells(x,8).Value

hierarchie.Add id_UO

Dim cell As Range
Columns("A:A").Select
Set cell = Selection.Find( _
What:=id_UO_Up, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)

id_UO = cell.Value 'error happens here'
cell = cell.Resize(cell.row,7)
id_UO_Up = cell.Value

将 cell.Value 分配给 id_UO 时发生错误。

标签: vba

解决方案


Norie 的评论回答了我的问题,我认为数据总是在第一列中与 id_UO_Up 值匹配,但这并不简单

If not cell is Nothing 

检查让我绕过它并处理异常的未发现值。再次感谢@norie 的回复


推荐阅读