エクセルバージョン
マイクロソフト365
今回はVBAでワークシート関数を作成した際に、関数式の先頭に@マークが入ってしまいスピル(動的配列数式)しない際に対処できるFormula2についてです。
それではいってみましょう!
Range.Formula2
概要
・A1形式の配列表記でオブジェクトの数式を表すバリアント型 (Variant) の値を取得または設定します。
・RangeオブジェクトFormula2プロパティを使用した数式は配列になり、1つ以上の結果が返された場合にスピルします。
サンプル
ワークシート関数のSEQUENCE関数を使用した例
Fomulaプロパティ
1 2 3 | Sub Formulaサンプル() Range("A1").Formula = "=Sequence(5)" End Sub |
【結果】
A1セルの数式の先頭に@マークが入りスピルはせずに従来形式になります。
Fomula2プロパティ
1 2 3 | Sub Formula2サンプル() Range("A1").Formula2 = "=Sequence(5)" End Sub |
【結果】
A1セルの数式に@マークは入らずスピル機能が有効になります\(^^)/
※バージョンがスピル機能に対応した場合の例です。
まとめ
VBAでワークシート関数を使用して、スピルさせたいのに数式に@マークが入ってスピルできないってときは有効に機能します(^o^)o
以上です。