「マクロ式 activecell.formular1c1 名前を使うとき」
という検索キーワードによる、このサイト・インストラクターのネタ帳へのアクセスがありました。
RangeオブジェクトのFormulaR1C1プロパティを使って、
アクティブなセルに数式を入力するときに、定義された名前を使った数式を入力するには、代入文をどう書けばいいのか探してらしたのでしょう。
名前を使った数式を入力するサンプルマクロ
以下のSubプロシージャが参考になるでしょう。ActiveCell.FormulaR1C1 = "=R[-1]C[0] * 値引率"
End Sub
「値引率」という名前の付けられたセルが存在するときに、上記のプロシージャを実行すると、アクティブセルに、アクティブセルの1つ上のセルと、値引率とを掛け算する数式が入力されます。
サンプルマクロについて
「マクロ式 activecell.formular1c1 名前を使うとき」
と検索なさった方は、代入文の右辺で、ダブルクォーテーションを、どうつければいいのかを悩んでいらしたのではないか、と推測しています。
上記のサンプルをご覧いただき、一度わかってしまえば、何ということのない、一番シンプルな形で良かったのか、と感じていただけるのではないでしょうか。
ちなみに、マクロ記録した場合は、
ActiveCell.FormulaR1C1 = "=R[-1]C*値引率"
というコードが作られます。
1つ上のセルを指定する部分が「R[-1]C」となっていますが、私は「R[-1]C[0]」のような書き方のほうを、意味を理解しやすいのでおすすめします。
- Newer:Validationオブジェクトの中身を見る
- Older:定数xlUpの値を調べる
Home » エクセルマクロ・Excel VBAの使い方 » 定義された名前 » FormulaR1C1で名前を使った数式を入力するには