すぐに役立つ3行マクロ講座 34回

配列で異なる値をセル範囲に一度に入力する

配列を利用すると、一度に異なる値をセル範囲に入力することができます。今回は、1行のセル範囲に異なるデータを入力するというケースです。
Array関数による一次元配列を利用してみましょう。
曜日をまとめて入力するとか、支店名などを毎回入力するときに使えるコードです。(サンプルファイルは、こちらから 3行マクロ34回サンプルデータ

異なる値をセル範囲に入力~Array関数

Array関数の使いかたは、難しくないので、次のコードを実行してみましょう。
Sub 異なる値入力()
    Range("A1:E1").Value = Array(380, "パン", 198, "卵", "=SUM(A1:D1)")
End Sub
異なる値をセル範囲に入力マクロ
文字列と数式は、ダブルクォーテーションで囲んでください。
マクロで、曜日を一気に入力したい時は、Array関数を使いこのようなコードで入力できます。
異なる値をセル範囲に入力マクロ2

月曜~日曜まで入力する時は、
Sub 曜日入力2()
    Range("A2:F2").Value = Array("月", "火", "水", "木", "金", "土", "日")
End Sub
すると、結果は、一気に曜日が入力されます。
曜日をマクロで入力

支店名をマクロで入力する

支店名なども、一気に入力できます。
支店名一気に入力

数式をまとめて入力

以下の表に数式をまとめて入力するマクロです。
数式をまとめて入力するマクロ
Sub 数式まとめて入力()
    Range("D2:E6").Value = Array("=AVERAGE(A2:C2)", "=SUM(A2:C2)")
End Sub
  
マクロを実行すると数式がまとめて入力されます。
このケースは、2行以上の範囲に1次元配列を代入したのですが、2行目は同じ数式でも位置に応じて相対参照で変化しています。
数式をまとめて入力するマクロ2
今日の講義は以上です。お疲れ様でした。

スポンサーリンク
スポンサーリンク
おすすめコンテンツ