テーブルの現在のセルが最初の行にあるかどうかを確認する必要があります。シートだけではなく、自分のテーブルの内部をチェックする必要があります。私はこれに関する情報を見つけることができませんでした。これは数式を使って可能ですか?このような場合は特別な操作をしたいと思います。現在のセルがテーブルの最初の行にあるかどうかをチェックする方法は?
2
A
答えて
2
2
考慮する:
Sub WhereIsTheActiveCell()
Dim EquivRange As Range, r As Range
Dim lo As ListObject
Dim nFirstRow As Long, nLastRow As Long
Set lo = ActiveSheet.ListObjects(1)
With lo
Set EquivRange = .DataBodyRange
nFirstRow = EquivRange.Row
nLastRow = EquivRange.Rows.Count + EquivRange.Row - 1
If ActiveCell.Row = nFirstRow Then
MsgBox "activecell is in the first data row of the table"
ElseIf ActiveCell.Row = nFirstRow - 1 Then
MsgBox "activecell is the the header row of the table"
End If
End With
End Sub
実際に明示[.HeaderRowRangeプロパティ](https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.listobject.headerrowrange.aspx)がありますListObjectテーブルの場合は、[。DataBodyRangeプロパティ](https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.listobject.databodyrange.aspx)に追加します。 – Jeeped
@Jeeped昨日、私の質問で助けてくれてありがとうとありがとう。 –
心配はいりません。 javascriptの変換はもっと簡単になるように見えますが、ランダムでも楽しいです。 – Jeeped