对隐藏的单元格执行查找

Ala*_*ain 13 excel vba excel-vba

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

如何在隐藏范围内的单元格上查找.记住 - 我正在搜索单元格计算值,而不是公式.

以下不起作用:

Set inserted = Range("RDS_Event_IDs").Find(Range("SelectedEvent"), , xlValues, xlWhole)

只要Range("RDS_Event_IDs")隐藏细胞.

因为解决方案必须在一般情况下工作,其中可能隐藏搜索范围中的一些或全部,并且可能搜索整个工作表,所以以编程方式取消隐藏所有受影响的行和列然后重新编译是不可行的. - 隐藏以前隐藏的那些.

Dou*_*ncy 22

根据Andy Pope的说法(并且他从来没有错)如果您正在使用xlFormulas,那么只查找隐藏单元格的作品.相反,也许是比赛?

Set inserted = Cells(Application.WorksheetFunction.Match("SelectedEvent", Range("RDS_Event_IDs"), 0), Range("RDS_Event_IDs").Column)
Run Code Online (Sandbox Code Playgroud)

  • 使用`Application.Match`比使用`WorksheetFunction.Match`更好,因为它可以正确处理错误.请参阅此答案:/sf/answers/1242609791/.`Application.Match`在VBA IDE中没有为我自动完成,但它确实有效,并且参数为常规匹配函数. (2认同)