エクセルVBA 1ページレッスン

こちらはノンプログラマー向けの1ページレッスンです。

15分程度でVBAの簡単な機能を使えるようになります。

環境設定

  1. セキュリティ
    [ツール] → [マクロ] → [セキュリティ]
    でセキュリティレベルを「中」以上にして下さい。
  2. VisualBasicツールバーを表示する。

    シート画面で
    [表示] → [ツールバー] → [Visual Basic]

  3. コントロールツールボックスを表示する。
    [表示] → [ツールバー] → [コントロールツールボックス]
     

VisualBasicツールバー

 Visual Basicツールバー

番号 名称 役割
マクロの実行 マクロを選択して実行する。
マクロの記録 マクロの記録を開始する。もう一度押すと停止する。
セキュリティ セキュリティ設定画面を表示する。
Visual Basic Editor VBEを表示する。
コントロールツールボックス コントロールツールボックスの表示/非表示。
デザインモード デザインモードのOn/Off。
Microsoft Script Editor Microsoft Script Editorを表示する。通常使用しない。

 

コントロールツールボックス

コントロールとはActiveXコントロールのことで、ボタンとかドロップダウンメニューとかテキストボックスとかラジオボタンなどのこと。

いわゆるGUI(グラフィカル ユーザ インターフェース)のこと。

コントロールツールボックスの説明

 

番号 名称 役割
デザインモード デザインモードのOn/Off。
プロパティ プロパティウィンドウを表示
コードの表示 VBEを表示 
チェックボックス チェックボックスを作成
テキストボックス テキストボックスを作成
コマンドボタン コマンドボタンを作成
オプションボタン オプションボタンを作成
リストボックス リストボックスを作成
コンボボックス コンボボックスを作成
トグルボックス トグルボックスを作成
スピンボタン スピンボタンを作成
スクロールバー スクロールバーを作成
ラベル ラベルを作成 
イメージ イメージを作成
コントロールの選択 コントロールの選択画面を表示

デザインモード

コントロール部品を編集できるのがデザインモード。

コンボボックスのの大きさを変えたり、ボタンの文字を編集したりするモード。このとき、コントロールは通常の機能をしない。

通常通り、ボタンを押したらクリックできる、チェックボックスを押したらチェックが入る、という風にするにはデザインモードをオフにする必要がある。

 

イベント

イベントとは、VBAのプログラムが実行されるトリガーのこと。

具体的には

  • ボタンがクリックされる
  • ブックが開かれる
  • シートがアクティブになる

など、他にも多数ある。

ここでは、もっとも典型的な、ボタンを押したらVBAコードが実行される手順を示す。

  1. デザインモード
    コントロールツールボックスの”デザインモード”をクリックし、デザインモードをOnにする。
  2. ボタン作成
    コントロールツールボックスのコマンドボタンをクリック。
    オートシェイプを作成する要領で、ボタンを貼り付け。
    コマンドボタン
  3. コードの紐付け
    作成したコマンドボタンをダブルクリック。
    VBEが起動する。
  4. コードの書き込み
    表示されている部分に下記のコードを記入する。
    Private Sub CommandButton1_Click()
    MsgBox "こんにちは"
    End Sub 
  5. 実行の準備
    コードを記入後、シートに戻る。
    デザインモードをOffにする。
  6. 実行
    作成したボタンをクリックする。
    表示されたメッセージボックス
    と表示されれば成功。

 

変数

 変数とは何らかの値を一時的に入れておくメモリの領域に名前をつけたものです。
さっそく、やってみましょう。説明は後述します。

  1. セルA1に”セルA1の値です”と入力
    このプログラムではセルA1の値をウィンドウに表示します。
  2. ボタン作成
    コントロールツールボックスのコマンドボタンをクリック。
    オートシェイプを作成する要領で、ボタンを貼り付け。
  3. コードの紐付け
    作成したコマンドボタンをダブルクリック。
    VBEが起動する。
  4. コードの書き込み
    表示されている部分に下記のコードを記入する。
    Private Sub CommandButton1_Click()
    Dim moji As String
    moji = Range("A1").Value
    MsgBox moji
    End Sub
  5. 実行の準備
    コードを記入後、シートに戻る。
    デザインモードをOffにする。
  6. 実行
    作成したボタンをクリックし、セルA1に入力した値が表示されれば成功。
宣言
Dim moji As String

ここで変数「moji」を使用することを宣言しています。「Dim」とはDimensionの略で、変数を宣言するときの慣用句です。
「As String」とは、変数mojiを”文字列”として設定するという意味です。プログラムないでのデータの扱われ方が変わります。”セルの書式設定”の表示形式のようなものだと思って下さい。
なお、データ型の指定を省略すると”Variant型”という何でもありなデータ型になります。乱用するとコードの可読性が落ちるので、必ず適切なデータ型を使用するようにしましょう。

代入
moji = Range("A1").Value

「moji」が変数名です。日本語も使用できます。分かりやすい名前にしましょう。
「Range("セル番地").Value」とは、セル番地に指定したセルの値を意味します。

「=」で左辺に右辺の値を代入します。
つまり、ここでセルA1の値が変数mojiに代入されるのです。

使用
MsgBox moji

 MsgBox」関数の引数に、変数mojiを利用しています。
この時点で、変数mojiにはセルA1の値が代入されているので、セルA1に値が表示されます。

 

条件分岐

ただし、これではセルA1に何も入力されていなくてもメッセージボックスウィンドウが表示されてしまいます。

 


 

最終更新:2011年08月15日 23:32
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。