Step1 基礎

【基礎2-2】セルを操作してみる

イミディエイトウィンドウを使って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でプログラミングする上で、

  1. 代入
  2. 等しい(イコール)

という、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を入力するという意味になります。

このようにセルの範囲を指定して操作することができます。
マウスで複数のセルを指定した時と同じです。

今回は数字の読み書きを行いましたが、文字については数字と扱いが異なりますが、ここでは学びません。

ここでは、セルに数字を書いたり、読んだりできることを体感してみてください。
セルの場所を書き換えて、自分なりに動きを確認してみましょう

次はワークシートを操作してみます。