エクセル」カテゴリーアーカイブ

VBAでのデバッグの基本

VBE(VisualBasicEditor)は、VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境です。
VBE(Visual Basic Editor)の使い方と、デバッグについて確認しておきましょう。


VBEの使い方:VBE画面の全体説明
VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境がVBEです。

VBEの使い方:ツールのオプション設定
ここではVBEの環境設定となるツールのオプション設定について説明します。「メニュー」→「ツール」→「オプション」それぞれのタブについて以下で順に説明します。

VBEの使い方:ツールバー
ここではツールバー(アイコン付きのボタン群)について説明します。ツールバーの表示方法 メニューの「表示」→「ツールバー」ツールバーは好きな位置に配置できます。

VBEの使い方:右クリックメニューとヘルプ
ここではマウスの右クリックで表示されるメニューを通して、各機能について説明します。また、合わせてヘルプについても説明します。

VBEの使い方:ショートカットキーとコード編集
ここではVBEのコード編集における、特に重要なショートカットキーと具体的な使い方について説明します。

VBEの使い方:イミディエイト ウィンドウ
ここではイミディエイトウィンドウの使い方について説明します。イミディエイトウィンドウの表示 メニュー「表示」→「イミディエイトウィンドウ」ショートカット:Ctrl+G 初期設定では

VBEの使い方:ローカル ウィンドウ
ここではローカルウィンドウの使い方について説明します。ローカルウィンドウの表示 メニュー「表示」→「イミィディエイトウィンドウ」初期設定ではコードウィンドウの下にドッキング表示されます。

VBEの使い方:ウォッチ ウィンドウ
ここではウォッチウィンドウの使い方について説明します。ウォッチウィンドウの表示 メニュー「表示」→「ウォッチウィンドウ」初期設定ではコードウィンドウの下にドッキング表示されます。

VBEの使い方:オブジェクト ブラウザー
ここではオブジェクトブラウザーの使い方について説明します。オブジェクトブラウザーの表示 メニュー「表示」→「オブジェクトブラウザ」ショートカットはF2 初期設定では

VBEの使い方:デバッグ
ここではVBA開発で、重要かつ避けて通れないデバッグについて説明します。。

夏の新着記事

VBE入門:ツールのオプション設定|ExcelマクロVBA入門
(9月28日)VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境がVBEです。ここではVBEの環境設定となる、ツールのオプション設定について説明します。「メニュー」→「ツール」→「オプション」それぞれのタブについて、以下で順に説明します。

VBE入門:VBE画面の全体説明|ExcelマクロVBA入門
(9月27日)VBAをやるうえでVBE操作に慣れているかどうかで開発効率が大きく変わってきます。VBE(VisualBasicEditor)は、VBAの統合開発環境です。VBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境がVBEです。

新規挿入可能なシート名の判定|ExcelマクロVBA技術解説
(9月26日)VBAでシートの存在確認およびシートとして使える文字列かどうかの判定は厳密に行おうとするとかなり大変になってきます。この件についてTwitterでやり取りがありそれらを踏まえた上でのVBAコードを参考として公開しておきます。その時のツイートでのやり取りはこちら シート名として使える文字列か判定 シート名の制限として

ShapesとDrawingObjectsの相違点と使い方|VBA技術解説
(9月24日)VBAで図(オートシェイプ等)を扱う時にいろいろ調べていくと図(オブジェクト)のコレクションが二つあることに気づきます。Shapesコレクション DrawingObjectsコレクション WEBのサンプルや書籍では多くはShapesが使われているはずですが時々DrawingObjectsを見かけることもあります。

文字列結合&でコンパイルエラーになる理由|VBA技術解説
(9月19日)VBAでは、&(アンパサンド)記号で文字列結合を行う事は頻繁に行われますよね。VBEで&を記述するとき、一度くらいは赤字のコンパイルエラーになったことがあるのではないでしょうか。どのように入力した時にエラーになるのか、なぜそれがエラーになるのか、これらを少しく詳しく見てみましょう。

Byte配列と文字コード関数について|VBA技術解説
(8月20日)マクロVBAのデータ型にByte型がありますが、使う機会はかなり限られています。バイト型は、8ビット(1バイト)の変数で、0~255の範囲の単精度の正の数値が格納されます。1バイトで使う事もなくはありませんが、Byte型配列として使われることがしばしばあります。

PowerQueryの強力な機能をVBAから利用する方法|VBA技術解説
(8月4日)Excel2016より標準搭載されたPowerQueryはとても強力な機能ですが使える環境が限られるので頻繁に使われだすのはこれからになると思います。PowerQueryが広く使われだすと色々な使い方が出てくると思います。ここではPowerQueryの優れた機能をVBAから利用する場合の手順を説明したものです。

練習問題31(セル結合を解除して値を埋める)|VBA練習問題
(7月30日)VBA練習問題 セル結合されているとVBAでは扱いにくい場合が多々あります。そこでセル結合を解除して結合されていたセル範囲に同じ値を入れたいと思います。以下の表を見てください。※上記表の全体を選択しコピー(Ctrl+C)の後エクセルのシートのA1セルに貼り付け(Ctrl+V)してください。

練習問題30(マトリックス→リスト形式)|VBA練習問題
(7月25日)マクロVBA練習問題 売上と仕入の、支店別年度別のマトリックス表があります。これをリスト形式(データベース形式)のデータに変換してください。以下の表をみて下さい。縦横の項目の交点に数値が入っていて、ピボットテーブルのようなマトリックス表になっています。

Applicationを省略できるApplicationのメソッド・プロパティ一覧|VBA技術解説
(7月22日)Applicationには多数のメソッド・プロパティがありますがこの中にはApplicationを記述しなければならないものとApplicationを省略できるものとが存在します。これらの違いはどこから来るのでしょうか… Applicationの全てのプロパティ・メソッドについてはApplicationのプロパティ

コレクション(Collection)の並べ替え(Sort)に対応するクラス|VBA技術解説
(7月20日)オブジェクトを扱う事が多くなってくるとコレクション(Collectionオブジェクト)を使う機会も増えてくると思います。配列やディクショナリー(Dictionary)を使ったほうが良い場合も多くはありますが単純にオブジェクトを保管し順序通り(FIFO)に処理するだけならとても扱いやすい場合もあります。

CSVの読み込み方法(ジャグ配列)|VBAサンプル集
(7月15日)CSVのマクロVBAでの読込方法についての記事は、人気記事として多くのアクセスがあります。当初作成して以来、ご要望をいただいたり自身で使っている中で、対応できないCSVが出てくるたびに改良を重ねています。今回のVBAは、一旦ジャグ配列を使用したCSV読み込み方法になります。

その他のExcel機能(グループ化、重複の削除、オートフィル等)|VBA入門
(7月14日)エセルの機能は豊富で、全部の機能を使っている人はまずいないでしょう、どのような機能があるかだけ知っていれば、必要な時に使えばそれで良いのです。マクロVBAでも全てのエクセル機能を覚える必要などありません、必要になった時に調べてVBAが書ければそれで充分です。

オートフィルタ退避回復クラスを複数シート対応させるVBAクラス|VBA技術解説
(7月6日)シートにオートフィルタが適用されていてかつ絞り込みされている場合はVBAは何かと面倒になります。そこでこれに対応するために作成したものがオートフィルタを退避回復するVBAクラス ただしこれはシートが一つしか扱えません。複数シートで使う場合はシートごとにクラスのインスタンスを作成する必要があります。

オートフィルタを退避回復するVBAクラス|VBA技術解説
(7月6日)シートにオートフィルタが適用されていてかつ絞り込みされている場合はVBAでは何かと注意が必要になります。このような場合オートフィルタを解除するかフィルタ絞り込みをクリアして対応している事が多くなります。しかしオートフィルタを解除したりフィルタをクリアしてしまうとそれまでの絞り込み条件が消えてしまい

IfステートメントとIIF関数とMax関数の速度比較|VBA技術解説
(6月23日)VBAの実行速度比較はとても良く読まれている人気記事となっていますがそのほとんどは配列やDictionaryを使った少し高度なVBAでの比較が多くなっています。今回は極めて基本的な大小比較して大きい方を返すという処理においてIfステートメントVBA関数のIIF関数シート関数のMax関数 これらの処理速度を比較検証してみます。

Introduction to Excel VBA

Excel VBA is a programming language used in the macro function that automates Excel operations.

VBA is short for “Microsoft Visual Basic Applications”

In this VBA introductory series As an introduction to macro VBA which is required in practice, we will explain VBA in general from basic to application.

Beginners and beginners should read from the beginning.
Even if there are parts that you don’t understand, it is also important to move forward.
Going forward, you may be able to understand what you couldn’t understand before.
By reviewing from time to time, you should be able to realize that your understanding has progressed.

For intermediate / advanced users, please refer to the required items from the table of contents.

Basics of VBA introduction

1.What is a macro? What is VBA?
2.First prepare to use Macro VBA
3.Macro recording
4.Where is the macro written (VBE startup)
5.VBE Set Options (Option Explicit)
6.Let’s write it anyway (Sub, End Sub)
7.To run a macro (F5)
8.What is putting a character in a cell (Range, Value)
9.How to specify cells in Range
10.Specification method other than Range (Cells, Rows, Columns)
11.How to use Range and Cells
12.Variables and data types (Dim)
13.Constants and type declaration characters (Const)
14.Character concatenation and continuation line
15.Four arithmetic operations and annotations (comments)
16.Iterative processing (For Next)
17.Iterative processing (Do Loop)
18.Get last row (End, Rows.Count)
19.General practice question 1