excel - 在 Excel 2013 中使用 VBA 读取隐藏列时出现问题

标签 excel vba

我目前在为 Excel 2013 编程时遇到有关读取隐藏列的宏问题。我正在尝试利用 A 列作为一行唯一键,以允许我快速开发基于 A 列中的键值隐藏和显示一行的逻辑。当我出于视觉目的在工作表中手动隐藏 A 列时,我会无法从该列中读取,也就是我的代码返回错误。如果我显示该列,代码就会清楚地执行。预先感谢您的帮助!

Public Sub hideRow(findId As String, sheetName As String)
    Dim lastRow As Long
    Dim foundCell As Range
    Dim hideThisRowNum As Integer

    'Get Last Row
    lastRow = Worksheets(sheetName).Range("A" & Rows.Count).End(xlUp).Row

    'Find ID
    With Worksheets(sheetName).Range("a1:a1000") 'This needs to be A1 to AxlDown
        Set foundCell = Worksheets(sheetName).Range("A1:A" & lastRow).Find(What:=findId,     LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    End With

    'Get Row # to Hide

    hideThisRowNum = Val(foundCell.Row)

    'Hide row
    Worksheets(sheetName).Rows(hideThisRowNum).Hidden = True

    'Set Add To Action Plan = No
    Worksheets(sheetName).Range("G" & hideThisRowNum).Value = "No"

End Sub

最佳答案

问题出在 .Find() 调用中。使用 LookIn:=xlValues 不会找到隐藏单元格。将其更改为 LookIn:=xlFormulas 它应该可以工作。

关于excel - 在 Excel 2013 中使用 VBA 读取隐藏列时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18338904/

相关文章:

vba - WorkSheet_Change 事件不会自动更新

vba - Excel 2013 64 位 VBA : Clipboard API doesn't work

javascript - 创建表客户端,然后下载excel文件或在服务器端生成excel文件,保存到服务器,然后使用JQuery从那里下载?

vba - 创建具有脚本能力的 Powerpoint/Keynote 演示文稿?

excel - 使用 VBA 将数据字符串拆分为列和行

excel - 使用 While 循环获取特定列中的行句柄

excel - 在数组中搜索单独数组中的文本字符串,返回该文本字符串 (Excel)

sql - VBA SQL查询字符串,支持多少?

vba - 有没有办法找到重复的单词?

多个匹配项的 Excel 条件格式