注目キーワード
  1. VBA
  2. 関数
  3. ショートカット

セルや行・列の操作方法を知ろう!①

  • 2019年3月3日
  • 2019年3月15日
  • VBA
  • 44回
  • 1件
VBA NO IMAGE

①セルにデータを入力する

セルに数値や文字列といったデータを入力する方法を紹介します。セルに数式を入力する操作も、同じようなコードで行えます。具体的には、セルの「値」を表すRangeオブジェクトのプロパティに、データを設定します。

・セルに数値を入力する

セルへのデータ入力に使用出来るRangeオブジェクトのプロパティは、Valueプロパティなど数種類あります。ここでは、RangeオブジェクトのValueプロパティに数値データを代入する方法を紹介します。

・実行結果

 

・セルに文字列を入力する

セルに文字列を入力する場合も、RangeオブジェクトのValueプロパティに設定します。ただし、コードの中で文字列を使用する場合は「” “」で囲んで記述していきます。

・セルに数式を入力する

セルへの数式入力も、Valueプロパティで入力することができますが、「数式」を意味する「Formulaプロパティ」を使った方が、コードとしての意味がわかりやすくなります。VBAでは数式も文字列として扱うために「” “」で囲んで記述します。

・実行結果

 

②セル範囲に同じデータを入力する

1つのセルに入力する方法の応用として、複数のセルが並んでいるセル範囲に、一括で数値や文字列などのデータを入力する方法を紹介します。同じ要領で数式も入力できますが、各セルの位置に応じでセル参照が変化するので、注意が必要です。

・セル範囲に同じ数値を入力する

対象のRangeオブジェクトが、1つのセルではなく複数のセルを含む範囲を表している場合、Valueプロパティに値を設定すると、範囲内のすべてのセルに同じ値が入力されます。

・実行結果

 

・セル範囲に同じ文字列を入力する

セル範囲に文字列を入力する場合も、やはり複数のセルを含むRangeオブジェクトのValueプロパティに設定します。

 

・セル範囲に数式を入力する

セル範囲に数式を入力する操作も、ValueプロパティやFormulaプロパティを使て行えます。ただし、Excelの通常の操作で数式を一括入力したりコピーしたりした場合と同様に、数式中の相対参照は、各セルの位置に応じて変改します。基準となるのは、対象範囲の左上端のセルです。

・実行結果

・絶対参照の数式を一括入力する

数式の中で、セルの位置に応じて変化させたくないセル参照は、その行番号または列番号の前に「$」を付けた絶対参照で指定します。

・実行結果

 

③セル範囲にそれぞれ異なるデータを入力する

セル範囲の各セルにそれぞれ異なるデータを一括して入力したい場合は「配列」を利用すると便利です。

・セル範囲に配列の値を入力する

横に並んだセルに、それぞれ異なる数値を入力します。横一行のセル範囲には、一次元配列の各要素を、そのまま同じ位置に入力することができます。VBAで1次元配列を作成して各要素に値を設定するには、Array関数を利用するのが簡単です。Array関数の引数に自由な個数のデータを指定すると、その要素数の配列のデータをそのままセル範囲に入力できます。

・実行結果

 

・2つの数式を複数行に一括入力する

2要素の配列を2列×複数行のセル範囲に入力すると、各列のすべてのセルに、各要素の同じデータがまとめて入力されます。使用するプロパティはValueプロパティ・Formulaプロパティのどちらでも可能です。

・複数行×複数列の配列をセル範囲に入力する

複数行×複数列の2次元配列は、同じ行数×列数のセル範囲にそのまま代入することができます。Array関数では1次元配列しか作成することができないので、ここでは2行×2列の配列変数を作成し、それぞれの要素を設定したうえで、そのままセル範囲に入力します。

 

次のステップへ:ExcelVBA【セルや行・列の操作方法】②

Excelマクロ&VBAをマスターしよう!一覧へ
 

NO IMAGE
最新情報をチェックしよう!