配列数式を取得または設定する(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 |
実行結果
実行前
実行後
関連記事
-
-
オートフィルタ(矢印を非表示にする)AutoFilter メソッド
AutoFilter メソッド 【書式】 object.AutoFilter ( …
-
-
セル幅・高さの既定値(StandardHeight プロパティ・StandardWidth プロパティ)
StandardHeight プロパティ・StandardWidth プロパティ …
-
-
重複するデータを削除(RemoveDuplicates メソッド)
RemoveDuplicates メソッド 指定したセル範囲から重複データを含む …
-
-
入力規則(他セルや数式を利用して許容値を設定)Validation オブジェクト
他のセルや数式を利用して許容値を設定する 入力規則(その5) での設定を、マクロ …
-
-
数式を非表示にする(FormulaHidden プロパティ)
FormulaHidden プロパティ 数式が入力されたセルを選択するとその数式 …
-
-
指定した条件に一致するセルを取得(SpecialCells メソッド)
SpecialCells メソッド SpecialCells メソッドは、指定し …
-
-
オートフィルタ(AutoFilter メソッド)
AutoFilter メソッド 【書式】 object.AutoFilter ( …
-
-
フリガナ(Phonetics プロパティ)
Phonetics プロパティ Phonetics コレクションを返します。値の …
-
-
オートフィルタ(日付フィルタ)AutoFilter メソッド
日付フィルタを使用してレコードを抽出する Excel 2007 から「日付フィル …
-
-
任意のセルを含む行または列全体を参照(EntireRow プロパティ,EntireColumn プロパティ)
EntireRow プロパティ・EntireColumn プロパティ Entir …