表示可能な行のリストに基づいて、アクティブセルの次または前のセルを取得します。目に見えない行を避けてアクティブセルの次または前を取得する方法
と私はその
最初のアプローチを行うに牽引アプローチをテストした。このような目に見える行の
GET範囲を。
Public rng_arr As Range
Public Sub UserForm_Activate()
Set rng_arr = Range(ActiveCell, Cells(ActiveCell.End(xlDown).Row, 1)).Rows.SpecialCells(xlCellTypeVisible)
End Sub
しかし、次のまたは前のセルを取得するために、範囲rng_arrの反対側に選択したセルを対応させる方法がわかりません。
第二のアプローチ:
は、アクティブセルの次を取得しますが、前を取得することはできません。
Public Function NextVisibleCell(Range As Range) As Range
Application.Volatile
Dim i As Long
Set Range = Range.Cells(Range.Rows.Count, Range.Columns.Count)
For i = 1 To Rows.Count - Range.Row
If Not Range.Offset(i).EntireRow.Hidden Then
Set NextVisibleCell = Range.Offset(i)
Exit Function
End If
Next i
End Function
なぜ 'Application.Volatile'がUDFとして使われていないのでしょうか? –
正直なところ、最初のものは2番目のものだけで引用されています –