VBAを開発するとき、VBAエディター-vbeを使用します。 vbeを理解し、開発速度が向上します。ここでは、例を挙げて説明します。
10年前、著者がVBAを学んだばかり時、九九表(掛け算表)の練習をよく見かけますが、今多くのチュートリアルには九九表がありません。九九表はループとロジック判断の関係を理解することには重要です。
目次
VBEを理解する
人々がよく言うVBAは、実際にはVisual Basic for Application(アプリケーションに対応するVisual Basic)の略語です。VBEのフルネームはVisual Basic Editorで、これはVBAのコンテナーであり、VBAを格納するために使用されます。コードの編集過程では、人がコンピューターに話しかける(指令を与える)ようなものです。コンピューターが、与えた指示を理解する限りに実行できます。VBEはこの「コンパイル」過程を担っているため、VBEはExcelのVBAコンパイラであると言えます。
実際、JAVAやPythonなどのすべてのコンピューター言語には独自のコンパイラがあり、翻訳者と同じように、コンピューターは指定されたコマンドコードを理解して実行できます。
VBEの3つの開く方
ツールバーにある[開発]でVBEインターフェースを開きます
多くの人は、Excelのツールバーには[開発]タブがありませんが、「オプション」の「リボンのユーザー設定」から呼び出すことができます。
次には[開発]タブにあるVisual Basicを選択してVBEインターフェイスを開きます。
ワークシートタブを右クリックしてメニューバーを開きます
ポップアップメニューで[コードの表示]を選択し、VBEインターフェイスを開いてもよいです。
ALT+F11キーの組み合わせで開く
これは、VBEインターフェイスを開くための常用な方法です。
注意点:VBEインターフェイスの開く方に関係なく、VBEを使用する前に、特定のブックを開くことを忘れないでください。VBEはEXCELファイルに対応するためです。
VBEインターフェイスのレイアウトと初デバッグ
任意の方法でVBEインターフェイスを開くと、構造は次のようになります。
もちろん、開いているVBEインターフェイスはこのようなものではありません。これらのウィンドウを呼び出したい場合は、まずメニューバーからVBEインターフェイスの主な機能を説明をご覧ください。
メニューバー
メニューバーにはVBEインターフェースのほとんどの機能が含まれており、情報量も比較的に多く、主に次にあるいくつかの方面から説明します。
1、ウィンドウの表示:メニューバーの表示をクリックすると、すべてのウィンドウを選択できます。
2、コードのデバッグ:メニューバーのデバッグをクリックします。VBAコードを編集した後、コードをデバッグするにはデバッグ機能を使用する必要があります。図に示すのは”ステップ イン”と”ブレークポイントの設定/解除”です。対応するショートカットキーも、メニューバーのセカンダリメニューであるF8とF9に表示されます。
3、VBEの設定に対しては、メニューバーの[ツール]タブの[オプション]にある[エディターの設定]によって、VBE操作インターフェイスをカスタムできます。または[VBAProject の プロパティ]の [保護]タブで、編集したコードを暗号化できます。
上記ではメニューバーのいくつかの常用な機能です。
ツールバー
ツールバーの機能について、Microsoftはユーザーが使用しやすいため、常用機能をボタンに作成するだけです。すばやくボタンを作成できるように、メニューバーにいくつかの一般的な操作チャートを一覧表示することです。まず、ツールバーの呼び出しをご覧ください。
VBEを初めて使用するときは、通常、デフォルトで「標準」ツールバーのみが表示されます。ツールバーの右側の空白で右クリックし、表示されたメニューから必要なツールをクリックし、必要な位置までドラッグします。
ツールバーにはツールが多いため、ツールを理解することに時間を費やす必要はありません。次には常用なツールを挙げます。
1、上書き保存。Ctrl+Sショートカットキー。
2、元に戻す。Ctrl+ZとCtrl+Yショートカットキー。
3、実行。コードを編集した後、クリックしてコードを実行し、結果を表示するまたはデバッグできます。ショートカットキーはF5です。
4、インデント。 Wordと同様に、コードは階層があります。以前に発行したコードは、通常、コードのレベルを反映する必要があります。例えば、”End Sub”がない場合、エラーがすぐに表示されます。 著者は通常、スペースをインデントとしてダブルクリックするか、Tabキーを使用してインデントします。インデントの長さはオプションで設定できます。
5、コメントブロック。ワークシートのコメントに相当し、メモを説明する効果があります。比較的複雑なコードを編集すると、長い間にコード設定のアイデアを忘れてしまう可能性があるため、コメントブロックは覚えておくのに役立ちます。 入力するより簡単な方法は、コメントする文字列の前に英字の一重引用符を追加することです。
プロジェクト
これはオブジェクトを格納するためのコンテナです。デフォルトでは、SheetオブジェクトとThisWorkbookオブジェクトが含まれています。ここでは”ユーザーフォーム”、”標準モジュール”、”クラスモジュール”オブジェクトを追加できます。追加する方法は次のとおりです。
プロパティ
VBAを理解するには、覚悟してください。VBAオブジェクトのプロパティはそれほど多くはありませんが、すべてのプロパティを覚えている人はほとんどいません。ここでは、選択したオブジェクトの一般的なフォーマット設定をいくつか設定できます。例えば、次のワークシートを設定します。
この設定がVBAコードとして記述されている場合、次のようになります。
Sub コード1()
With Sheets(1)
.Name = "名字変更"
.Visible = 0
End With
End Sub
コード内のNAMEプロパティとVISIBLEプロパティは、プロパティウィンドウで設定したものと同じです。オブジェクトのプロパティの理解に役立つでしょうか?
コード編集ウィンドウ
このウィンドウは、すべてのコードが記述されている場所です。異なるオブジェクトを選択すると、このコードがこのオブジェクトのコードウィンドウになります。
オブジェクトとプロセスウィンドウ
これらの2つのウィンドウは、もう1つの重要な内容です。読者は”VBAイベント”について聞いたことがあるかどうかはわかりませんが、ここで選択します。例えば、ワークシートオブジェクトを選択すると、次のようになります。
ユーザーフォームオブジェクトを選択した後、フォーム範囲をダブルクリックする又は右クリックして、[コードの表示]を選択すると、次のようにコードウィンドウを開けます。
イミディエイトウィンドウ
著者はこのウィンドウをほとんど使用しません。その役割は、コードの実行結果を表示することであり、(コードをデバッグする場合、クリックしてワークシートまたはフォームで実行するだけでいいです)DEBUG.PRINTコードのサポートが必要です。
Sub乗算()
a = 1 + 2
Debug.Print a
End Sub
ローカルウィンドウ
ローカルウィンドウは、著者が常に開くウィンドウです。 このウィンドウは“ステップインF8”でコードをデバッグすることにとって、非常に重要です。次にはコードの実行です。
F8キーを押すと、コードが1行ずつ実行されていることがわかります。ローカルウィンドウでは、変数の変更にかなり著しいマークが付けられており、コードのデバッグに便利です。 (また、このローカルウィンドウは、コードの実行ルールを理解するのにも非常に役立ちます。)
ウォッチウィンドウ
用途はローカルウィンドウに似ていますが、ウォッチウィンドウを使用する前に、次のようにウォッチ変数の式を追加する必要があります。
上記ではみんながVBEによく見かけるウィンドウとメニューツールバーです。暇なときにできるだけEXCELにある何かの機能を使用してみるべきことをみんなに伝えたいです。
フォーム、モジュール、およびクラスモジュールの意味
上記でプロジェクトウインドウから、フォーム、モジュール、クラスモジュールの3つの機能を右クリックで挿入しました。これらはEXCEL VBAで非常に重要な役割を果たし、仕事の自動化には唯一の方法です。
この記事を通してそれらの意味を簡単に理解し、将来専門的な記事を発表し、具体的に説明します。
フォーム
フォームとコントロールを運ぶキャリアである。ツールバーの機能を使用すると、フォームが表示します。例えば、上記で説明したメニューバーのツールにあるオプションフォームなどです。フォームオブジェクトのコードウインドウでコードを記述すると、インタラクティブな操作インターフェースを自分で作成できます。考えてみると、楽しみです!
モジュール
モジュールは最も常用の機能です。他のオブジェクトは、対応するコードウィンドウでのみコードステートメントを呼び出すことができますが、モジュールで記述されたコードは他のオブジェクトから参照できます。 ワークシートオブジェクトのコード、ワークブックオブジェクトのコード、フォームのコード、コントロールのコード、およびモジュールとモジュールの間に、CALLステートメントを使用してモジュール内のコードを呼び出すことができます。
また、モジュールでFUNCTION関数プロシージャを使用する場合は、「カスタム関数」を作成できます。EXCELバージョンが古く、XLOOKUP、MAXIFS、TEXTJOINなどの関数を使用できない場合は、FUNCTION関数を使用できます。独自のコードを記述してワークシート関数と同様に便利です。
クラスモジュール
クラスモジュールは、クラスのプロパティとメソッドをカスタマイズするためのモジュールです。VBAで記述されたプロセスは、オブジェクトのプロパティとメソッドを操作するプロセスであり、クラスモジュールは、このプロセスをカスタマイズする方法です。コードに表示されるPUBLIC PROPERTYプロセスは、クラスモジュールに属しています。 これは通常、アプリケーションレベルのイベントに使用されます。時間をかけてExcelを理解し、最終的にはクラスモジュールに遇うかもしれません。
まとめ
この記事の情報量は多いですが、著者はみんながVBEプラットフォームの操作とその意味を理解する必要があると感じています。盲目的に学ぶべきではありません。
最後に、冒頭の「九九表」のコードを提供します。練習してください。コードの階層的なインデントをご覧ください。
Sub 九九表()
With Sheets("九九表")
For i = 1 To 9
For j = 1 To 9
If i >= j Then
.Cells(i, j) = j & "*" & i & "=" & j * i
End If
Next j
Next i
End With
End Sub
コメントを残す