GEN MUTO'S HOMEPAGE  エクセル大事典  エクセルVBAを極める

エクセルExcel大事典 エクセル大事典TOPページへ
 ■ エクセルVBA中級編−VBAでいろんなテクニック
  VBE(Visual Basic Editor)を使いこなそう!
 
■ VBEditorを使用、操作しよう!

Excel VBAの唯一の開発環境であるVBE(Visual Basic Editor)。
この開発環境を、いかに有効に使いこなせるかでExcel VBAにおける開発効率が格段に違ってきます。



長年、Excel VBAで開発を行ってきた人でも意外に知らないVBEの機能があったりします。
今回は、VBEを使いこなすことでVBAの開発効率をより高めるという視点から解説を行います。

VBEの起動の仕方と終了方法

VBEの起動の仕方はいろいろあります。一般的なものはツールメニューからマクロ>Visual Basic Editorを選択しますが(※ Excel2007では、開発リボンからVisual Basic Editorアイコンをクリック)、より高速に起動するには、ショートカットキーの「Altキー+F11キー」押下を使用します。

VBEを終了するにはファイルメニュー>終了してMicrosoft Excelに戻るを選択するか、「Altキー+Qキー」を押下してショートカットキーで終了させます。

コードウィンドウの操作

VBEの中で、実際のVBAコードを記述する場所がコードウィンドウです。
コードウィンドウ内ではショートカットキーが利用できます。また、自動メンバ表示や、自動クイックヒント表示の機能を利用することができます。
(その場合は、ツール>オプション>編集タブより、自動メンバ表示、自動クイックヒント、チェックボックスをオンにする必要があります)

コードウィンドウが表示されていないときは、表示メニュー>コードを選択するか、プロジェクトエクスプローラよりVBAコードを記述するオブジェクトをダブルクリックすることで表示できます。
コードウィンドウは分割して表示したり、複数のコードウィンドウを並べて表示することができます。その場合ウィンドウメニューより、分割、または上下に並べて表示・左右に並べて表示、を選択します。

VBEで利用できるショートカットキーは次のとおりです。
Tabキー インデントを挿入する
Shiftキー+Tabキー インデントを削除する
Ctrlキー+Xキー 切り取り
Ctrlキー+Cキー コピー
Ctrlキー+Vキー 貼り付け
Ctrlキー+Zキー 操作を元に戻す
Ctrlキー+Aキー すべて選択する
Ctrlキー+Yキー 現在の行を削除する
Ctrlキー+Deleteキー 単語を削除する
Ctrlキー+↓キー 次のプロシージャへ移動する
Ctrlキー+↑キー 前のプロシージャへ移動する
Ctrlキー+Homeキー モジュールの先頭にカーソル移動する
Ctrlキー+Endキー モジュールの最後へカーソル移動する
Ctrlキー+Spaceキー 入力候補を表示する

その他のショートカットキー操作

・単語にカーソルを合わせCtrlキー+Fキー押下で、その単語を検索する検索ダイアログを表示します。Ctrlキー+Hキー押下すると置換ダイアログを表示します。

・単語にカーソルを合わせF1キーを押下することでヘルプを表示します。F2キーを押下することでオブジェクトブラウザを表示します。

・ユーザー定義関数にカーソルを合わせ、Shiftキー+F2キーを押下することでユーザー定義関数のプロシージャに移動します。Ctrl+Shift+F2キーを押下すると元の位置に戻ります。

・引数のないSubプロシージャ内でF5キーを押下することでそのプロシージャを実行します。F8キーを押下した場合、ステップイン実行します。ステップイン実行中にカーソルを移動させ、Ctrlキー+F8キーを押下すると、そのカーソル位置まで一気に実行します。

・プロシージャを強制終了させる時は、Ctrlキー+Breakキー押下、またはEscキー押下でプロシージャの実行を強制終了させることが可能です。

イミディエイトウィンドウの操作

イミディエイトウィンドウを利用することで、次のような操作が可能になります。
・簡単な計算式を実行する
・変数を利用する
・プロシージャや関数を呼び出す
・Ifステートメントを利用する
・Forステートメントを利用する
また、VBAコード内にDebug.Printステートメントを記述することで、イミディエイトウィンドウに構造体や変数の値を出力させることが可能です。
イミディエイトウィンドウが表示されていないときは、表示メニュー>イミディエイトウィンドウで表示できます。

(例)
イミディエイトウィンドウ内に「?100*2」と入力してEnterキーを押下します。
「200」が出力されます。

(例)
イミディエイトウィンドウ内に「MyLng=100」と入力してEnterキーを押下します。次に「?MyLng*2」と入力してEnterキーを押下します。「200」が出力されます。
※ イミディエイトウィンドウ内でDimステートメントによる変数の宣言は行えません。イミディエイトウィンドウ内で使用する変数はVariant型になります。

(例)イミディエイトウィンドウ内に「?mid("A200",2,3)」と入力してEnterキーを押下します。「200」が出力されます。

(例)
Functionプロシージャをイミディエイトウィンドウ内から呼び出します。
標準モジュール内に以下のFunctionプロシージャが記述されている場合、イミディエイトウィンドウ内に「?test(100)」と入力してEnterキーを押下すると「200」が出力されます。
  Function test(ByVal i As Long) As Long
    test = i * 2
  End Function

(例)
Subプロシージャをイミディエイトウィンドウ内から呼び出します。
標準モジュール内に以下のSubプロシージャが記述されている場合、イミディエイトウィンドウ内に「test(100)」と入力してEnterキーを押下すると「200」が出力されます。
  Sub test(ByVal i As Long)
    Debug.Print i * 2
  End Sub

■ローカルウィンドウの操作

ローカルウィンドウを利用することで、プロシージャ内のすべての変数の値を確認できます。ローカルウィンドウは表示メニュー>ローカルウィンドウで表示することができます。
ローカルウィンドウが表示されていないときは、表示メニュー>ローカルウィンドウで表示できます。

変数の値を確認したい位置にブレークポイントを設定するか、ステップイン実行を使用してローカルウィンドウ内の変数の値を確認します。

■ウォッチウィンドウの操作

値を確認したい変数を選択し、右クリックします。メニュー内のウォッチ式の追加を選択します。ウォッチ式の追加ダイアログが表示されるので項目を確認後、OKクリックしウォッチウィンドウに変数を追加します。
ウォッチウィンドウが表示されていないときは、表示メニュー>ウォッチウィンドウで表示できます。

変数の値を確認したい位置にブレークポイントを設定するか、ステップイン実行を使用してローカルウィンドウ内の変数の値を確認します。

■デバッグの方法

VBEを利用したデバッグの方法は、いろいろあります。VBEでデバッグできるのはコンパイルエラーと実行時エラーの2種類になります。論理エラーをデバッグすることはできません。
※ エラー種類についての詳細な解説は、こちらを参照してください。エラー処理の重要性12

VBEで利用できるデバッグのための機能を紹介します。

・VBAProjectのコンパイル
 デバッグメニュー>VBAProjectのコンパイルを選択することで使用できます。プロジェクト全体のコンパイルを行いコンパイルエラーを調査します。コンパイルエラーが見つかったとき、該当する部分が黄色でチェックされ表示されます。見つからなかったときは、特に画面に変化はありません。

・ブレークポイント(ブレイクポイント)の設定
 ブレークポイントを設定すると、設定した行でプログラムの実行を一時中断します。
 ブレークポイントを設定したい行を選択し、デバッグメニュー>ブレークポイントの設定/解除を選択するか、余白インジケーターバーをクリックするか、F9キーを押下することで、選択した行にブレークポイントを設定することができます。解除する場合は、ブレークポイントを設定した行を選択し、上記の処理を行うことで設定を解除できます。
 ※ ブレークポイントを複数設定していて、すべてのブレークポイントを一度に解除したいときは、デバッグメニュー>すべてのブレークポイントの解除を選択、またはCtrlキー+Shiftキー+F9を押下します。

・Stopステートメント
 Stopステートメントを記述すると、記述した行でプログラムの実行を一時中断します。
 プロシージャ内で中断させたい行に記述します。

・ステップイン実行
 プログラムを、プロシージャ1行単位でステップ実行します。
 F8キーを押下することで次のステップ(行)に処理が移ります。途中のステップ処理をとばしたいときは、ステップ処理をしない行の次にカーソルを置き、Ctrlキー+F8キーを押下することで、その行まで一気に処理を行うことができます。

■ヘルプを表示する

ヘルプを表示させたい用語にカーソルをうつし、F1キーを押下することでヘルプを表示させることができます。
(例)
  Application.ScreenUpdating = False

ScreenUpdatingの部分にカーソルをうつし、F1キーを押下するとヘルプのScreenUpdatingプロパティ項目が表示されます。

■オブジェクトブラウザを操作する

F2キーを押下することで呼び出します。検索ボックスより検索することでオブジェクトについて調べることができます。

(例)
F2キーを押下してオブジェクトブラウザを表示させた後、検索ボックスにScreenUpdatingと入力、検索ボタン(双眼鏡のアイコン)をクリックします。ScreenUpdatingはApplicationクラスのプロパティであることが表示され、プロパティの説明が説明ペインに表示されます。

オブジェクトブラウザで表示されるアイコンは以下のとおりです。
・ライブラリ
・Enum
・定数
・クラス
・メソッド
・プロパティ
・ユーザー定義型
・イベント



■その他のVBEの表示項目


・プロジェクトエクスプローラ
 プロジェクトやプロジェクトに格納されている参照項目(ユーザーフォームやクラスモジュールなど)がツリー構造の階層リストで表示されます。
 プロジェクトエクスプローラが表示されていないときは、表示メニュー>プロジェクトエクスプローラで表示できます。

・プロパティウィンドウ
 各オブジェクトのプロパティを表示します。プロパティウィンドウでプロパティを設定することも可能です。
 プロパティウィンドウが表示されていないときは、表示メニュー>プロパティウィンドウで表示できます。

・オブジェクトボックス
 コードウィンドウの左上部に位置します。選択できるオブジェクトの一覧を表示します。

・プロシージャボックス
 コードウィンドウの右上部に位置します。オブジェクトボックスで選択したオブジェクトに対するイベント、または選択できるプロシージャの一覧を表示します。

以上。

今回、VBEに関する操作にスポットを当てて解説しました。
Excel VBAで、より効率的かつスマートに開発を行うために、VBEの機能を習熟することは重要な意味を持ちます。
今回の内容が、あなたの開発をさらに効率化する一助になればと思います。

>> 次の話にすすむ


サイト内検索ができます

Microsoft Most Valuable Professional

Microsoft MVP Excel
武藤 玄 プロフィール
 

■■■ 執筆した書籍 ■■■
 

EXCEL VBA 業務自動化
 

Excel VBA を5日でマスターする本
 

仕事を速くする Excel VBA 入門
 

Excel VBAと業務改善のポイントがわかる本
 

Access VBA ベーシック スタンダード
 

Excel VBA アクションゲーム作成入門
 

■■■ 連載中の記事 ■■■
 

Excel VBAで業務改善!
 

実務で使うExcel VBA
 


TOPページ


■ エクセルVBA超入門

 ・9ステップで"Hello World!"
  からオブジェクト指向まで!
  1."Hello World!"を表示しよう
  2.基本はデータの入出力
  3.繰り返し処理
  4.シートで簡易データベース
  5.名前をつけよう
  6.構造化プログラムに挑戦
  7.構造体を使ってみよう
  8.フォームを使ってみよう
  9.オブジェクト指向に挑戦

■ エクセルVBA中級編

 ・VBAでいろんなテクニック
  変数・関数のスコープ
  引数の参照方法を明示
  配列の中身を一気に複写
  識別子がよいコードを作る
  データ定義型をもっと知ろう
  定数と列挙型を活用しよう
  エラー処理の重要性1
  エラー処理の重要性2
  いろいろな条件分岐
  いろいろな繰り返し処理
  演算子について知ろう
  文字列操作 連結 変換 置換
  文字列操作 検索 比較 書式
  日付操作関数を知ろう
  数値操作・評価・その他関数
  並び替えソートをマスター
  いろいろな検索をマスター
  VBEditorを使いこなそう
  マクロの記録を活用しよう1
  マクロの記録を活用しよう2
  VBAからVBEを操作しよう1
  VBAからVBEを操作しよう2
  VBAからVBEを操作しよう3
 ・ワークシートを使いこなす
  セルの参照をマスターしよう
  セルの選択をマスターしよう
  セルの操作をマスターしよう
  セルの書式設定をマスターしよう
  行・列の操作をマスターしよう
  シートの参照をマスターしよう
  シートの操作をマスターしよう
  ブックの操作をマスターしよう
  ウィンドウの操作をマスターしよう
  イベントプロシージャを活用しよう
  ワークシートを印刷しよう1
  ワークシートを印刷しよう2
  音声(読み上げ)機能を操作しよう
  グラフを操作しよう
 ・ユーザーフォームを使いこなす
  ユーザーフォームを使おう
  UserFormsオブジェクト
  Labelコントロール
  TextBoxコントロール
  ComboBoxコントロール
  ListBoxコントロール
  CheckBoxコントロール
  OptionButtonコントロール
  ToggleButtonコントロール
  CommandButtonコントロール
  ScrollBarコントロール
  SpinButtonコントロール
 ・VBA関数の一覧
  Aから始まる関数の一覧
  Cから始まる関数の一覧
  Dから始まる関数の一覧
  Eから始まる関数の一覧
  Fから始まる関数の一覧
  Gから始まる関数の一覧
 
■ エクセルVBAを極める
 VBAスーパーテクニック
 
 ・データベースへ接続してみよう!
  CSVファイルへの接続
  ワークシートへの接続
  mdbファイルへの接続
  SQL Serverへの接続
  ADOレコードセットの操作1
  ADOレコードセットの操作2
 ・ファイルを操作してみよう!
  FileSystemObjectの操作
  Drive File Folderの操作
  TextStream ダイアログ
  ステートメントでファイル操作1
  ステートメントでファイル操作2
 ・他アプリと連携してみよう!
  ActiveXオートメーションの操作
 ・ゲーム技でマクロを超える
  エクセルで音を鳴らす1
  エクセルで音を鳴らす2  
  スクリーン座標を取得
  様々なイベント取得
  リボンUIを制御しよう1
  リボンUIを制御しよう2
  シート上でアニメを動かそう
 
■ 一歩上行くエクセル
 基本操作の完全マスター!

 
 ・あなたはいったい
  エクセルで何をしたいのか?
  エクセルで業務効率化
  エクセル関数を使いこなす
  エクセルの便利技
  エクセルは最高の帳票ツール
 ・エクセル基本操作上級編!
  セル選択、コメント、シリアル値
  オート機能を使いこなそう!
  参照、条件付書式、入力規則
  関数をもっと理解しよう!
  配列数式を有効利用しよう!
  データの正規化をしよう!
  ショートカットキーを利用しよう1
  ショートカットキーを利用しよう2
  Office用アプリを作成しよう!
  PowerPivotとExcelで簡単BI!
 ・世間の誤ったエクセルの
  べからず集
  エクセルで文章を書くべからず
  エクセルで図形を描くべからず
  エクセルでシステムをつくるな
 
■ エクセル関連その他

 ・エクセルコミニュティにあなたも
  参加しませんか?
  Excel関連リンク・コミニュティ
 ・VBの理解がVBAをマスターする
  最短距離!
  VB関連の老舗・大家サイト
 ・エクセルExcel大事典掲示板
 ・プライバシーポリシー

2000アイテムを超えるラベルを販売
送料無料、即納対応の優良ショップ
今買っているラベルより確実に安い!
OAラベルの販売専科グラフトラベル




エクセルExcel大事典ははリンクフリーです エクセル大事典Excel大事典
お問い合わせはこちら gengengen@yahoo.co.jp

Copyright© Gen Muto 武藤 玄 All Rights Reserved,