Vba で formular1c1 を使用する方法 (例付き)
VBA でFormulaR1C1プロパティを使用すると、シート上の特定のセルへの絶対参照または相対参照を作成できます。
このプロパティを使用するには、次の 2 つの一般的な方法があります。
方法 1: R1C1 式を使用して絶対参照を作成する
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R1C1*20 "
End Sub
この特定のマクロを実行すると、セルC5には、行 1 、列 1のセルに 20 を乗算した結果が表示されます。
方法 2: R1C1 式を使用して相対参照を作成する
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "
End Sub
この特定のマクロを実行すると、セルC5には、上 4 行、左 2 列のセルに20 を乗算した結果が表示されます。
次の例は、セルA1に値10 を含む Excel シートで各メソッドを実際に使用する方法を示しています。
例 1: R1C1 式を使用して絶対参照を作成する
次のマクロを作成して、行 1と列1のセル値を 20 で乗算し、結果をセルC5に表示できます。
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R1C1*20 "
End Sub
このマクロを実行すると、次の出力が表示されます。
Excel が数式=$A$1*20を使用してセルC5の結果を計算したことがわかります。
VBA の数式でR1C1を使用したため、最初の行と最初の列のセル (セルA1 ) への絶対参照を作成しました。
例 2: R1C1 式を使用して相対参照を作成する
次のマクロを作成して、セルC5の4 行上、左 2 列にあるセルの値を 20 で乗算し、結果をセルC5に表示します。
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "
End Sub
このマクロを実行すると、次の出力が表示されます。
Excel が数式=A1*20を使用してセルC5の結果を計算したことがわかります。
VBA の数式でR[-4]C[-2]のかっこを使用したため、セルC5の 4 行上、2 列左にあるセル (セルA1 )への相対参照を作成しました。
注: VBA FormulaR1C1プロパティの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: 「セルに次の値が含まれている場合」の簡単な数式
VBA: 文字列内の文字の出現を数える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法