Excel VBA > Excel上級:マクロ

Excel上級:マクロ

このエントリーをはてなブックマークに追加

Functionプロシージャに「ありがたみ」を感じるためには

「Functionプロシージャは、Subと同じことができるため、その必要性についてあまり感じることがない」と言う方もいらっしゃると思います。経験的には必要、というかあると便利だと思うのですが、それを説明するには少し難しさもあります。ここでは「Functionプロシージャがあってよかった」と思うためには、何が必要かを説明しています。

ExcelとAccessのリストボックスの違いを比較してみる

Excelで使いなれたリストボックスのイメージでAccessのそれを操作しようとするとうまくいかない場合があります。今回はリストボックスでのExcelとAccessの違いを簡単に対比させてみました。

Excel VBAでできることを改めて考える

VBAを使った作業はある種無限大です。しかしその「無限大」とは、何を基準にして答えているのかといわれると、それは自身の経験に基づいているものです。しかし「VBAで何ができるのか」を知らない人にとっては非常に曖昧にしか聞こえないでしょう。今回は改めてVBAで何ができるのかを考えてみたいと思います。

マクロの記録ではできないこと(ユーザーフォームについて)

マクロの記録でできない中にユーザーフォームがあります。実際にはシステムの流れで見るとマクロの記録を参考にする部分もでてきたりすることもありますが、このフォーム自身はマクロの記録では何も記録が残せません。今回はこの点について説明したいと思います。

マクロの記録ではできないこと(変数について)

変数はプログラムを使う上で非常に有効な武器になります。処理によっては不要な場合もありますが、ある程度の機能を持ったシステム・ツールを作る際には必須と言えます。マクロの記録では変数に関しては手が出ない状態です。マクロの記録を軸に変数について説明したいと思います。

マクロの記録ではできないこと(条件分岐)

マクロの記録は大変便利な機能ですが、この記録だけでは限界があり、慣れてきたら次のステップである「コーディング」に進むことをお勧めします。ここではマクロの記録では対応しきれない点の一つである「条件分岐」について説明します。

SubとFunctionで同じプロシージャを作ってみた

SubとFunctionの違いは慣れてないと、どちらを使うことが有効かと悩むこともあるかもしれません。通常はSubで事足りてしまうためにFunctionの使い方はなおさら分かりにくいかもしれません。そんな疑問にできるだけ解決すべく、SubとFucntionで同じプログラムを作ってみたので比較してみたいと思います。

Excel VBAの必要性とは

Excel VBAの必要性を説くことはある意味でとても難しいです。そもそもVBA(Excel)は、業務を補足する側面でしかないため、仮にVBAが無かったとしても業務が成り立つことができてしまうからです。ただし、VBAがあるのとないのとでは稼働時間が劇的に違うことも理解しておく必要はあります。これでどれだけの金銭的負担が変わるのかは驚くべきものも出てきます。

Functionプロシージャの使い方について考える

Functionプロシージャはマクロを勉強すると必ず出てきますが、一方で勉強し始めのころは使い方がよく分からなかったり、どんな場面で登場させるのか分からなかったりします。最終的には開発者の判断にはなりますが、使えると幅が広がるのは間違いありません。ここではFunctionを「関数」として見ると分かりやすいという点について説明しています。

実務度外視!VBAで何ができるか?

VBAで何ができるのかを説明するのは思いのほか難しいです。そこで実務を意識しないでExcel VBAに何ができるのかを説明したほうが分かりやすいと思い、過去に仕事や面白半分で作成したものや勉強で作成したプログラム等をご紹介します。

定型業務は全てマクロ(プログラム)化できるか?

定型業務はマクロ化のメイン対象となりますが、その一方で必ずマクロ化できるかというと実は複雑な部分もあります。「確実に同じ作業が繰り返される」と言う点において、利用者やマクロ開発者によって目線が異なると、同じでない場合も出てきたりします。

Excel VBAで何ができるか?

Excel VBAで何ができるのかは、これからVBAをやってみたい人にとっては重要事項の一つだと思います。しかし簡単には理解しづらいものもあると思います。特に初めてプログラムをするという人にとっては、ある種のパターン化されたようなものから思考回路をはずす必要もあります。

定型化できるマクロとは何か

定型化に向いているというマクロですが、すでに他の記事でも述べているように、必ずしも見た目通りにいくとも限りません。実際にマクロ化する際には「深読み」したほうが良い点も出てきます。ここではどんな深読みが必要なのか事例を使って説明します。

マクロの記録だけで範囲を可変にする方法

マウスを使って行うマクロの記録では作業内容により使い勝手が悪いものも出てきます。マウスを使った範囲の取得(選択)もその一つです。言葉だけでは説明が難しいのですが、簡単にいうとショートカットキーを使うことで範囲を可変に取得できる方法を紹介します。

マクロの記録で”最初”の操作での落とし穴

マクロの記録を開始するときのセルの場所に注意にしましょう。思いのほか知られていませんが、マクロの記録は全て記録を取ってくれるようなイメージがありますが、若干の規則性があるのです。この規則性を知っていないと、間違っているはずないマクロが正しく動かないことが出てきますので注意が必要です。

ショートカットキーでマクロの記録を行う

マクロの記録を使う場合、慣れてきたらショートカットを活用して記録をしてみてください。ショートカットを使わなくても結果的には同じものができるので、見た目上は分かりませんが、コード化された部分には随分と違いも出てきます。

マクロの記録を追う

マクロの記録はVBA作成時にもとても便利な機能です。マクロの記録で作ったコードをVBAで変更等行えるからです。ただしその一方でコードに慣れてないと、どの操作でどのコードが作られるのか分かりません。これが分からないと、修正しようがないという場合は、ぜひこの方法を試してみてください。操作内容とコード化の部分が同時に追えるので分かりやすいです。