VBA

VBA

【VBA】ユーザーフォームの戻り値を取得する

Excel VBAで、OKボタン、キャンセルボタンを配置したユーザーフォームの戻り値を取得する方法を紹介します。 OKボタン、またはキャンセルボタンを押すとユーザーフォームが閉じられ、どのボタンが押されたのか取得できるようにします。 フォー...
VBA

【Excel VBA】Workbook_Open()イベントのデバッグ方法

最近、Excel VBAを使ったプロジェクトに取り組んでいます。 ExcelのWorkbook_Open()イベント処理を書いた際、デバッグが必要になることがあります。しかし、ファイルを閉じるとブレークポイントが解除され、デバッグが難しいこ...
VBA

【VBA】Implementsでインターフェースを実装する

VBAではクラスの継承がサポートされていませんが、インターフェースの実装はサポートされています。 VBAでは本格的なオブジェクト指向で設計してシステムを組むことはよっぽどないし、出番は少ないかもしれませんが、ブログのネタになんとなくVBAで...
VBA

VBAの文字列操作:&演算子と+演算子の違い、適切な使い方、及び注意点

VBAでは、文字列の連結を行うために&演算子または+演算子を使用できますが、これらの演算子には挙動の違いがあります。本記事では、&演算子と+演算子の違いについて説明し、コーディングにおける注意点を紹介します。 &演算子、+演算子の違い &演...
VBA

【VBA】論理演算子(And, Or)の注意点 短絡評価の話

VBAの論理演算子(And, Or)を使用するときの注意点として短絡評価が行われないということが挙げられます。 例えば下記のようなコードを書くと実行時にエラーが発生する可能性があります。 ' コレクションの要素をイミディエイトウィンドウに表...
VBA

【VBA】ForやWhileで次のループ処理へスキップする方法

ForやWhileなどのループ処理の途中でループの先頭に戻って次のループ処理を開始したいことがあると思います。様々なプログラミング言語で、continueという名前でそのような機能が実装されているのですが、残念ながらVBAにはありません。 ...