数式を設定・取得する(Formula プロパティ・FormulaR1C1 プロパティ)
Formula プロパティ(FormulaR1C1 プロパティ)
Formula プロパティは、A1形式で、数式を取得・設定します。
FormulaR1C1 プロパティは、R1C1形式で、数式を取得・設定します。
<取得>
result = Object.Formula
result = Object.FormulaR1C1
<設定>
Object.Formula = objform
Object.FormulaR1C1 = objformr1c1
引数・戻り値
- object ・・・ 対象となるRange オブジェクト
- objform ・・・ A1形式による数式を表す文字列を指定
- objformr1c1 ・・・ R1C1形式による数式を表す文字列を指定
- result ・・・ 取得した数式を表す文字列や値
セルに数式が入力されているときは、等号(=)を含む文字列として返します。
また、セルに定数が入力されているときは、その定数を返し、セルが空のときは空の文字列を返します。
セルの値または数式に日付を設定するときに書式が設定しなかった場合、数値書式は標準の日付の短い形式になります。
対象セル範囲が 1 次元または 2 次元のセル範囲のときは、同じ次元を持つ Visual Basic の配列から各セルの数式を設定できます。同様に、各セルの数式を Visual Basic の配列に代入することもできます。
セル範囲に数式を設定すると、範囲内のすべてのセルにその数式が入ります。
セルの中の値をユーザーが使っている言語で取得・設定するには、FormulaLocal プロパティまたは、FormulaR1C1Local プロパティを使用します。
Formula プロパティ・FormulaR1C1 プロパティの使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Sub Sample_Formula() '日付入力 Range("B1").Formula = "=text(today(), ""m月dd日"")" '数式入力 Dim myArray(1 To 2) myArray(1) = "= F4 * 5%" myArray(2) = "= SUM(F4:G4)" Range("G4:H8").Formula = myArray '表示 Dim myArray2, myArray3, v, myStr myArray2 = Range("F4:G8").Formula myArray3 = Range("H4:H8").FormulaR1C1 For Each v In myArray2 myStr = myStr & v & Chr(13) Next v For Each v In myArray3 myStr = myStr & v & Chr(13) Next v MsgBox myStr End Sub |
実行結果
サンプルVBAソース実行前
実行後
関連記事
-
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
-
文字列の一部の書式を変更(Characters プロパティ)
文字列の一部を参照(Characters プロパティ) Characters プ …
-
-
セルが結合セルの一部である場合、その結合セルの範囲を取得(MergeArea プロパティ)
MergeArea プロパティ MergeArea プロパティは、指定したセルが …
-
-
セルの特定の要素のみをペーストする(PasteSpecial メソッド)
PasteSpecial メソッド PasteSpecial メソッドは、Cop …
-
-
フリガナの取得(GetPhonetic メソッド)
GetPhonetic メソッド GetPhonetic メソッドは、指定した文 …
-
-
罫線の設定(Borders プロパティ)
罫線の設定 罫線を一括(上下左右すべて)で設定するには、Borders プロパテ …
-
-
セルの幅・高さの自動調整(AutoFit メソッド)
AutoFit メソッド AutoFit メソッドは、指定したセル・セル範囲(R …
-
-
2つ以上のセル範囲を1つにまとめて参照(Union メソッド)
Union メソッド Union メソッドは、2つ以上のセル範囲を1つにまとめて …
-
-
セル内の編集を禁止する(EditDirectlyInCell プロパティ)
EditDirectlyInCell プロパティ エクセルでは、セルをダブルクリ …
-
-
重複するデータを削除(RemoveDuplicates メソッド)
RemoveDuplicates メソッド 指定したセル範囲から重複データを含む …