配列数式を取得または設定する(FormulaArray プロパティ)
2015/06/19
FormulaArray プロパティ
FormulaArray プロパティは、対象のセル・セル範囲の配列数式(1つの数式または配列)を取得または設定します。指定したセル範囲に配列数式が含まれていないときは、Null 値を返します。
設定する値は、バリアント型(内部処理形式:String [文字列型] )を指定し、かならず、“” で囲みます。
<取得>
result = Object.FormulaArray
<設定>
Object.FormulaArray = formula
引数・戻り値
- object ・・・ 対象となる Range オブジェクト
- formula ・・・ 数式を表す文字列を指定
- result ・・・ 取得した数式を表す文字列
FormulaArray プロパティの文字数は 255 に制限されています。
セルに通常の数式が入力されている場合は、その数式を取得します。通常の数式が入力されているのか、配列数式が入力されているのかは、HasArray プロパティで調べることができます。
ヘルプには、「配列数式として入力するときは、数式には R1C1 形式を使う必要があります。A1 形式は使えません。」と記されていますが、とりあえず、Excel 2013 では、どちらも使用できるようです(FormulaArray プロパティの使用例)。
FormulaArray プロパティの使用例
サンプル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 |
Sub Sample_FormulaArray() '配列数式を入力 'Num が偶数である値の合計値を求める(AI形式で入力) Range("C9").FormulaArray = "=SUM(IF(MOD(B3:B8,2)=0,C3:C8,""""))" 'Num が奇数である値の合計値を求める(R1C1形式で入力) Range("C10").FormulaArray = "=SUM(IF(MOD(R3C2:R8C2,2)=1,R3C3:R8C3,""""))" '配列数式を入力 Range("F2:H8").FormulaArray = "=SUM(R3C3:R8C3)" '配列数式かどうかを確認し、配列数式である場合はその数式を表示 If Range("F2").HasArray = True Then MsgBox Range("F2").FormulaArray End If End Sub |
実行結果
実行前
実行後
関連記事
-
-
2つ以上のセル範囲を1つにまとめて参照(Union メソッド)
Union メソッド Union メソッドは、2つ以上のセル範囲を1つにまとめて …
-
-
行・列の表示・非表示(Hidden プロパティ)
Hidden プロパティ Hidden プロパティに True を設定することで …
-
-
セル内部を参照(Interior プロパティ)
Interior プロパティ Interior プロパティで、セルの内部を参照し …
-
-
フリガナ(Phonetic プロパティ)
Phonetic プロパティ 文字列(漢字など)をキーボードから入力した時の「読 …
-
-
アクティブなセルを参照する(ActiveCell プロパティ)
ActiveCell プロパティ ActiveCell プロパティは、各ウィンド …
-
-
セルを参照する(Range プロパティ)
Range プロパティ 任意のセルにアクセスするには Range プロパティを使 …
-
-
セル・セル範囲を切り取る(Cut メソッド)
Cut メソッド Cut メソッドは、指定したセル範囲を切り取り、引数に指定した …
-
-
列名を取得、列番号を取得(Address プロパティ,Column プロパティ)
列番号を取得する セル番地(「A1」や「B3」)や列名(「A」「B」「C」 …
-
-
ハイパーリンク(Hyperlinks オブジェクト)
Hyperlinks オブジェクト ワークシートまたはセル範囲のワークシートコレ …
-
-
入力規則(エラーメッセージの設定)Validation オブジェクト
無効値を入力時に、エラーメッセージの表示 Validation.ShowErro …