|
こんにちわ。
>最終的にはVBAに反映させたく思います。
ってことやけど、VBA使わん方法考えてみました(^^;;
1.A1を選択した状態から、メニューの[挿入]-[名前]-[定義]で、
名前:CellHeight
参照範囲:=GET.CELL(17,A1)
と設定する。
2.A2に =IF(CellHeight>0,1,0) と入れる。
3.A3に =IF(CellHeight>0,A2+1,A2) と入れ、下までコピーする。
行を削除する可能性があるんやったら、A3〜の数式を
=IF(CellHeight>0,OFFSET(A3,-1,0)+1,OFFSET(A3,-1,0))
としてください。
参考までに、これをVBAに応用すると・・・(名前の定義は事前に設定しておく)
Sub test()
Dim LastRow As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
Select Case LastRow
Case 2
.Range("A2").Value = 1
Case Is > 2
.Range("A2").Formula = "=IF(CellHeight>0,1,0)"
.Range(.Cells(3, 1), .Cells(LastRow, 1)).Formula = "=IF(CellHeight>0,A2+1,A2)"
With .Range(.Cells(2, 1), .Cells(LastRow, 1))
.Value = .Value
End With
End Select
End With
End Sub
ま、こんな方法もあるってことで・・・
ほな。
|
|