『Excel』 VBAでちょっと便利!?(その16)

2019年05月31日 未分類

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回目です。

Copyright c syshan.jp all rights reserved.