配列数式を取得または設定する(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 |
実行結果
実行前
実行後
関連記事
-
-
引数に指定したセル範囲の共通のセル範囲を取得(Intersect メソッド)
Intersect メソッド Intersect メソッドは、引数に指定したセル …
-
-
文字列の縦位置を取得・設定する(VerticalAlignment プロパティ)
VerticalAlignment プロパティ VerticalAlignmen …
-
-
書式で検索(Find メソッド,FindFormat プロパティ)
書式で検索 書式を条件にセルを検索する場合、まず、その書式条件を CellFor …
-
-
セルをアクティブにする・セルを選択する(Activate, Select)
セルをアクティブにする・選択する 【書式:セルをアクティブにする】 object …
-
-
罫線の設定(Borders プロパティ)
罫線の設定 罫線を一括(上下左右すべて)で設定するには、Borders プロパテ …
-
-
セルの値を置換・書式設定(Replace メソッド,ReplaceFormat プロパティ)
セルの値の置換と書式設定 検索条件に一致するセルの書式を設定するには、まず、Ap …
-
-
対象のセルを参照している全てのセルを取得(Dependents プロパティ)
Dependents プロパティ Dependents プロパティは、対象のセル …
-
-
セルの高さ・幅を取得(Height プロパティ・Width プロパティ)
Height プロパティ・Width プロパティ Height プロパティは、指 …
-
-
セルの位置を取得(Left プロパティ、Top プロパティ)
Left プロパティ・Top プロパティ Left プロパティは、「A列」の左端 …
-
-
セルの特定の要素のみをペーストする(PasteSpecial メソッド)
PasteSpecial メソッド PasteSpecial メソッドは、Cop …