「特定のセルにMID関数 VBA」
といった検索キーワードでアクセスがありました。
VBAを使って、MID関数を使った数式をセルに入力するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。
VBAでMID関数を使った数式を入力するサンプル
以下のSubプロシージャを実行すると、アクティブなワークシートのB1セルに、数式「=MID(A1, 4, LEN(A1))」が入力されます。
Range("B1").Formula = "=MID(A1, 4, LEN(A1))"
End Sub
セルに手入力する数式を、先頭の「=」も含んだ形で、VBAから見た場合には単なる文字列として、Range.Formulaプロパティを使って設定すればOKです。
MID関数とFIND関数を使った数式を入力したかったのでは?
「特定のセルにMID関数 VBA」
と検索なさった方が探していたのは上記のような例ではなく、他の関数たとえばFIND関数を組み合わせた数式を入力する、Excel VBAのコードを探していらしたのではないかと想像しています。
MID関数とFIND関数を使った数式
A1セルに「舞黒 花子」のように、姓と名の間に全角スペースが必ず氏名が入力されているときに、
=MID(A1, FIND(" ", A1)+1, LEN(A1))
という数式をB1セルに手入力すれば、B1セルには名前の「花子」だけが出力されます。
こういった「"」(ダブルクォーテーション)の使われている数式をExcel VBAから入力するにはどうすればいいのかを探していらしたのではないかと私は想像しています。
VBAでMID関数とFIND関数を使った数式を入力するサンプル
以下のSubプロシージャを実行すると、アクティブシートのB1セルに、数式「=MID(A1, FIND(" ", A1)+1, LEN(A1))」が入力されます。
Range("B1").Formula = "=MID(A1, FIND("" "", A1)+1, LEN(A1))"
End Sub
ポイントは、FIND関数の第1引数です。
「"」を指定するために、Excel VBAのコードとしては「""」とダブルクォーテーションを2つ書く必要があります。
- Newer:PowerPoint VBAでテキストボックスを中央揃えに
- Older:Workbooks.OpenXMLの戻り値は?
Home » Excel VBA Rangeオブジェクト » セル数式 » VBAでMID関数・FIND関数を使った数式を入力する