イミディエイトウィンドウを使ってExcelを操作
それでは実際にイミディエイトウィンドウを使ってExcelを操作してみましょう。
このイミディエイトウィンドウを、Excelを自由にコントロールできる窓だと思ってください。
まず準備として、基礎1−4で保存したレッスン用のファイルを開きましょう。
VBEの画面(VBAの開発環境 ※基礎2−1参照)を開いたら、操作結果が見やすいように、ブックとVBEの画面を次のように左右に重ねて並べてください。

セルの値をイミディエイトウィンドウに表示する
次に、Excelの表をマウスでクリックして選択した状態(アクティブな状態)にして、
セルA1に「100」と入力してください。

そして、VBEのウィンドウのどこかをクリックし、イミディエイトウィンドウを表示して、次のように入力してください。
? Range(“A1”).Value

Enterを押します。
? Range(“A1”).Value
100

先ほどセルA1に入力した「100」がイミディエイトウィンドウに表示されます。
これは Range(“A1”)が、A1セルを示していて、そこに入力されている値(Value)をExcelの表から取得して表示したということです。
次に、セルB2に「200」を入力しましょう。

先ほどと同様にイミディエイトウィンドウを表示して、次のように入力してください。
? Range(“B2”).Value

Enterを押します。
? Range(“B2”).Value
200

「200」と表示されてますね。
これがイミディエイトウィンドウを使った、セルからのデータ読み込みです。
セルへのデータ書き込み
次にセルにデータを書き込んでみましょう。
次のように入力してみてください。
Range(“A2”).Value = 300

そしてEnterキーを押します。
どうなると思いますか?

セルA2に「300」が入力されました。
イミディエイトウィンドウはカーソルが1行下に下りただけで何も表示されません。
先ほどの「?」は表示するという命令です。
「?」は「Print」と入力しても同じになります。
その命令を使ったため、1行下に結果が表示されていました。
今回は「?」が無いので、入力した内容を、ただ実行したということです。
なんとなくわかるかと思いますが、
=300
で「選択したセルに300を入力する」という意味になります。
ここでは、「=」は、等しいということではなくて、代入するという意味を持っています。
Range(“A2”)←300
のほうが表現としては近いと思いますが、VBAでは「=」でないといけません。
「=」は、VBAでプログラミングする上で、
- 代入
- 等しい(イコール)
という、2つの意味を使い分けることになるので覚えておきましょう。
どのセルに = 何を入れる
というのが、VBAでのセルへの入力方法になります。
セル範囲へのデータの書き込み
さて、もう少し、セルを操作してみましょう。
セルを示すのに使っているRangeというのは英語で「範囲」という意味です。
つまり、1つのセルだけでなく「セル範囲」を表すこともできます。
そこで、以下のように入力してEnterを押すと。
Range(“A1:A3”).Value = 100

Enterキーを押します。

となります。
つまり、「A1:A3」で、A1:A3の範囲を指定して、そこのセル全部に100を入力するという意味になります。
次に、これはどうでしょうか?
Range(“A1:C3”).Value = 200

Enterを押します。

となります。
つまり、「A1:C3」で、左上A1、右下C3の範囲を指定して、そこのセル全部に200を入力するという意味になります。
このようにセルの範囲を指定して操作することができます。
マウスで複数のセルを指定した時と同じです。
今回は数字の読み書きを行いましたが、文字については数字と扱いが異なりますが、ここでは学びません。
ここでは、セルに数字を書いたり、読んだりできることを体感してみてください。
セルの場所を書き換えて、自分なりに動きを確認してみましょう
次はワークシートを操作してみます。


