3

現在、非表示の列の読み取りに関して、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
4

1 に答える 1

6

問題は .Find() 呼び出しにあります。を使用してLookIn:=xlValuesも、非表示のセルは見つかりません。に変更するとLookIn:=xlFormulas、動作するはずです。

于 2013-08-20T15:32:43.983 に答える