目次

目的

  • 変数にセル範囲を代入する。
  • その時の変数の中身を見てみる。
  • マクロを一行ずつ実行可能な「ステップイン」を使用してみる。

目次まで戻る

その一例

  1. 白紙のワークシートでテストしてみます。
    白紙のワークシート。
    白紙のワークシート。
  2. 下記マクロを作成します。
    Sub 変数aにB2からB4の範囲を代入()
    Dim a As Range
    Set a = Range("B2:B4")
    End Sub
    1. 「Dim a As Range」
      宣言以降、「a」の後にピリオド「.」を入力すると、入力候補が表示されるようになるので、「Range」型で宣言。「Dim a」で Variant 型だと入力候補が表示されないと思います。
      (1)a の後にピリオドを入力。<br>
(2)入力候補が表示される。 Range で使用可能なプロパティ、メソッドの候補です。
      (1)a の後にピリオドを入力。
      (2)入力候補が表示される。 Range で使用可能なプロパティ、メソッドの候補です。
    2. 「Set a = Range("B2:B4")」
      セル範囲はオブジェクトなので「Set」で代入。
  3. 上記マクロをステップインで実行してみます。
    1. 「Sub」と「End Sub」の間のどこでも良いのでクリックします。実行するマクロに文字入力カーソルを合わせるのが目的です。
      マクロ内でクリック。
      マクロ内でクリック。
    2. 「デバッグ > ステップイン」をクリックします。「F8」キーでも同じ動作になると思います。
      ステップインをクリック。
      ステップインをクリック。
    3. マクロの実行が開始されて、一行目で一時停止しました。
      一時停止中。
      一時停止中。
    4. この時「ローカルウィンドウ」は以下のようになっていました。
      変数 a の値、データ型。
      変数 a の値、データ型。
      1. 「表示 > ローカルウィンドウ」でローカルウィンドウを表示できます。
  4. 「F8」キーを押します。
    1. 「Set a= ... 」の行まで進みました。「Set a= ... 」の処理は、まだ実行されていません。
      「F8」キーを押した後。
      「F8」キーを押した後。
  5. 「F8」キーをもう一回押してみます。

    1. 「Set a= ... 」の行が処理されて、「End Sub」の行まで進みました。

      「F8」キーを押した後。二回目。
      「F8」キーを押した後。二回目。
    2. ローカルウィンドウが以下のように変化しました。
      1. 「a」の値が Nothing から空白になりました。(下図 1)
      2. 「a」の左に「+」ボタンが表示されました。(下図 2)
        a の状態。
        a の状態。
  6. 変数「a」の中身を見てみます。
    1. 「a」の左の「+」をクリックしてみます。
      「+」をクリック。
      「+」をクリック。
    2. 「a」の中身が表示されました。
      色々な情報(プロパティ)が格納されています。「変数名 a」「ピリオド」「プロパティ名」の順に記述すると各プロパティを取得可能です。「a.Column」とすると「2」が取得出来ます。
      色々な情報(プロパティ)が格納されています。「変数名 a」「ピリオド」「プロパティ名」の順に記述すると各プロパティを取得可能です。「a.Column」とすると「2」が取得出来ます。

テスト環境

  • Windows 10(64 ビット)
  • Microsoft Office Excel 2003

以上、閲覧ありがとうございました。

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿