在Excel 2013中使用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不会find隐藏的单元格。 将其更改为LookIn:=xlFormulas ,它应该可以工作。