セルに値を入力するには-Excel VBA Tips

Excel VBA Tips集-2

セルに値を入力するには

セルに値を入力する方法はいくつか存在します。最も有名なのはRange()を利用してセルに値を入力する方法です。

Range()を利用してセルに値を入力するには?

書式

Range().Value = 値

サンプルコード

上記のサンプルコードを実行すると、A1セルに「Hello! VBA!」という文字列が入力された状態になります。

実行結果

VBAでセルに値を入力する

Cells(行番号, 列番号)を利用してA1セルに値を入力するには?

Cellsの書式

Cells(行番号, 列番号) = 値

Cells()を利用する場合、Range()のときのように「.Value」を付加する必要はありません。またCells()はまず行番号を指定してから、その次に列番号を指定するので、慣れないうちは少し混乱してしまうかもしれません。

例えばB1セルをCells()で表すと、Cells(1, 2)となります。B1セルは1行目の2列目ですよね。

サンプルコード

上記のサンプルコードでは1行目の1列目のセル、すなわちA1セルに文字列を入力しています。

尚、CellsCells(行番号, “列名”)というセルの指定方法にも対応対応しています。以下のサンプルコードでは、この書式を用いて、B3セルを指定し、値をセットしています。

ワークシートの指定

特に何も指定せずに「Range(“A1”).Value = 3」と指定した場合、アクティブなシートのA1セルに「3」がセットされます。あえてアクティブシートのA1セルであることを明示して上記のコードを書き直すと、「ActiveSheet.Range(“A1”).Value = 3」となります。

ではアクティブではないワークシートのA1セルを指定するにはどうすればいいでしょうか。そのためには、Worksheets()コレクションを用います。WorkSheets()コレクションとは、ワークシートの集合体のことです。イメージ的に図示すると以下のようになります。

worksheetsコレクションのイメージ図

例えば、「Worksheets(1)」と書くと、左から数えて1番目のワークシートを意味します。また、「Worksheets(“営業管理”)」等と書くと、「営業管理」という名前のワークシートを指し示します。

ワークシートを指定してセルに値をセットするサンプルコード

このように記述することでアクティブではないワークシートのセルも操作することができます。

オブジェクトについて

Cells()で表したセルもRange()で表したセルもRangeオブジェクトです。オブジェクトとはExcelの各「部品」のようなものです。1つ1つのセルはもちろんExcelの部品なのでオブジェクトです。そしてセルを表すオブジェクトをRangeオブジェクトと呼びます。

セルはRangeオブジェクトである」という事実は後々とても役立つのでご存じなかった場合は覚えておくとよいでしょう。

関連項目

使える!Excel VBA Tips集TOPに戻る

 

[AD]自分のペースでゆったり学ぶ Excel VBA

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA