『Excel』 VBAでちょっと便利!?(その16)
Excelでのプログラミング16回目です。
セルのプロパティについての6回目の今回は、
「FormulaR1C1」についてです。
■セル(Rangeオブジェクト)のプロパティ一覧(よく使われるものを抜粋)
◆FormulaR1C1◆
FormulaR1C1はセルに数式を入力、または入力されている数式を取得するプロパティです。
R1C1形式は行(Row)をRと行番号、列(Column)をCと列番号で表す形式で、「R1C2」はセルB1を、「R5C8」はセルH5を表します。
また、基準とするセルからの相対的な位置を表す場合は、R[基準セルからの行位置]C[基準セルからの列位置]で指定します。
次の表は、基準セルからの相対的な位置を表したものです。
基準セルから見て右と下は正の数、左と上は負の数を指定します。
では、以下の表でD列の金額欄に[単価]×[数量]の式を入力してみます。
~~~~~~~~~~~~~~~~~~~~~~
Sub test()
Dim longLastRow As Long
Dim i As Long
‘—最終行を求めます
‘ (商品名が入っている行だけに式を入力するため)
longLastRow = Range(“A1”).End(xlDown).Row
‘—式を入力します
‘ (式を入力する範囲を「Range」オブジェクトで指定します)
Range(Cells(2, 4), Cells(longLastRow, 4)).FormulaR1C1 = “=RC[-2]*RC[-1]”
End Sub
~~~~~~~~~~~~~~~~~~~~~~
◆実行結果◆
それぞれのセルに「=B列×C列」の式が入りました。
メニューの「数式」から「数式の表示」を選択すると、すべての式を表示することができます。
ここで、式が入力した「R1C1形式」ではなく「A1形式」で表示されていますが、
メニューの「ファイル」-「オプション」-「数式」を選択し、「数式の処理」の「R1C1参照形式を使用する」にチェックすると、
以下のようにR1C1形式で表示されます。
次回は、セルのプロパティ7回目です。