Excel 对隐藏的单元格执行查找

Excel 对隐藏的单元格执行查找,excel,vba,Excel,Vba,我在一个隐藏列中有一个计算出的值范围,我用它作为下拉框。为了找出用户选择的值,我尝试在该范围内运行查找,但由于某些原因,Excel不会返回与其选择对应的单元格,只要该列处于隐藏状态 如何找到隐藏区域中的单元格。记住-我搜索的是单元格计算值,不是公式 以下操作不起作用: Set inserted=Range(“RDS\U事件\U ID”)。查找(Range(“SelectedEvent”)、xlValues、xlWhole) 只要范围(“RDS\U事件\U ID”)中的单元格处于隐藏状态 由于该解

我在一个隐藏列中有一个计算出的值范围,我用它作为下拉框。为了找出用户选择的值,我尝试在该范围内运行查找,但由于某些原因,Excel不会返回与其选择对应的单元格,只要该列处于隐藏状态

如何找到隐藏区域中的单元格。记住-我搜索的是单元格计算值,不是公式

以下操作不起作用:

Set inserted=Range(“RDS\U事件\U ID”)。查找(Range(“SelectedEvent”)、xlValues、xlWhole)

只要
范围(“RDS\U事件\U ID”)
中的单元格处于隐藏状态

由于该解决方案必须在一般情况下工作,其中被搜索的部分或全部范围可能被隐藏,整个工作表可能被搜索,所以以编程方式取消隐藏所有受影响的行和列,然后重新隐藏以前隐藏的行和列是不可行的。

根据(而且他从来并没有错)“查找”仅适用于使用xlFormulas的隐藏单元格。也许是一场比赛

Set inserted = Cells(Application.WorksheetFunction.Match("SelectedEvent", Range("RDS_Event_IDs"), 0), Range("RDS_Event_IDs").Column)

确实有必要在宏中执行此操作,这样更易于使用:

=MATCH(G9;H9:H16;0)
G9:下拉框的单元格

H9:H16:你的射程

0:精确匹配


它返回数组内的索引

稍微调整一下,我想转到
Set inserted=Range(“RDS\u Event\u id”)。单元格(…Match…
,但是是的,这绝对是一个很好的解决方法。谢谢你的建议!这对隐藏单元格有效,但对自动筛选的隐藏单元格无效。最好使用
Application.Match
而不是
WorksheetFunction.Match
,因为它可以正确处理错误。请参阅以下答案:
Application.Match
没有在VBA IDE中为我自动完成,但它确实可以工作,并且具有常规匹配函数的参数。