ゆんの業務改善ブログ

①生産性向上 ②業務改善 ③自動化 について情報発信しています。VBAプログラムは本当の初心者から他のアプリケーションを呼び出して使う上級者的な使い方まで幅広いレベルで解説していきます。

VBAの勉強

要求仕様書|VBAで人の為に作る開発ドキュメント

この記事は非エンジニアの会社員で現業を持ちながらVBAでたまに自動化ツールを作っているというような方を読者として想定しています。目次 非エンジニアに必要な開発ドキュメント3つのうちの要求仕様書 要求仕様書とは VBA開発に詳細な要求仕様書はいらない…

会社員がVBAで自動化するのに必要な開発ドキュメント3点

今回は非エンジニアの会社員がVBAで自動化ツールを作成する時に必要な開発ドキュメントについて解説します。この記事はエンジニアではないフツウのサラリーマンを読者として想定しています。目次 開発ドキュメントとは 非エンジニアが便利ツールを作るのに必…

VBA Windows APIを使う手順(調べる→宣言する→使う)

VBAでWindows APIを使う方法を解説します。今回はWindowsの機能を使って音を鳴らします。目次 Windows APIを使う APIとは何か~OLEとの違い~ APIを使う手順 使いたい機能のAPIを調べる 実際に調べる 調べた結果分かったライブラリを使う宣言を行う Declareス…

VBA MsgBoxは関数

VBAで便利なMsgBox関数があります。私の身近にMsgBoxを関数ではなくメソッドだと思っている人がいたので要点を簡潔に解説します。目次 「関数」とは何かについての認識を合わせておく そもそもメソッドなら、オブジェクトにくっついていないとおかしい MsgBo…

VBA 値の型を変換するときの注意点

今回は値の型を変更するときの注意点について解説します。この記事は中級です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。目次 値の型変換を行うとはどういうことか 値の型変換を行った後の注意点 セルに書…

VBA セルに値ではなく計算式を入力する方法と2つの注意点

VBAで値の計算結果ではなく、計算式をセルの中に作成する方法を解説します。この記事は中級です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。目次 セルに計算式を入力する方法と2つの注意点 今回やりたいこと…

VBA 95%まかなえるInstr関数の使い方を端的に解説する

VBAのInstr関数の使い方を端的に解説します。目次 さっと書き方が思い出したい方のための最低限の文法 本当は色々あるけど95%位はこれでいけるサンプル 応用的な使い方 さっと書き方が思い出したい方のための最低限の文法 あなたが知りたいのはこれです。Ins…

VBA Dateserial関数とFormat関数を使って日付を自在に操る

今回はDateserial関数を使って日付を自由に操ってみたいと思います。この記事は初級~中級です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。目次 DateSerial関数の書き方 DateSerial関数のメリット 計算値を…

Excel VBA ループで検索して別シートに転記する

Excel VBAでシート内を検索する方法を単刀直入に解説します。検索した結果を別シートに転記します。目次 For~Nextステートメントでループして検索する 一致したら転記する 含んでいたら転記する 条件が合えば転記する For~Nextステートメントでループして検…

VBA Select Case Trueの使い方を端的に解説する

Excel VBAでSelect Caseステートメントの評価対象にTrueを使う方法を解説します。単刀直入にサンプルコードを示した上で、簡単に解説します。スマホの方はお持ちのスマホを横にして頂くと、サンプルコードが、PCと同様に見れると思います。たぶん。目次 Sele…

VBA HTMLでOutlookのメールの文字の色を変える方法

VBAで作成したOutlookのメール本文の文字を色を変える方法を解説します。Outlookのメールそのものの作成方法については、VBA OLEを使ってメールを配信するをご覧下さい。目次 VBAのコードにHTMLを埋め込んでメールの文字の色を変える HTMLとは 普通のメール…

5分でわかるタスクスケジューラでVBAマクロを実行する方法

毎日同じ時刻に同じマクロを実行する為のタスクスケジューラの設定方法です。

VBA 3分で分かる便利なイベントの使い方 ワークブックにチェック機能をつける

今回はVBAで利用できるイベントについて解説していきます。できると便利なイベントに絞って簡単に解説していきます。頑張りましょうこの記事は中級です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。目次 イベ…

VBA 5分で分かるWith~End Withの使い方

VBAのステートメントであるWith~End Withステートメントについて解説します。単なる文法(シンタックス)の掲示ではなく、オブジェクトの階層構造を使って、自由自在に使えるようになることを目指します。この記事は中級です。 レベルについてはExcel VBAの…

VBA オブジェクトの階層構造

今回はオブジェクトの階層構造について解説します。オブジェクトの階層構造を理解しておくとWith~End Withステートメントの理解がスムーズになります。ついでに不要なSelectやActivateから卒業しましょう。ここで知識を整理しておきましょう!この記事は初心…

VBA プログラムの開発効率を上げる誰でもできる5つの簡単な方法

VBAにおけるプログラミングでツールやシステムの開発効率を上げる、簡単な方法を紹介します。この記事はVBAを勉強している全てのレベルの方が対象です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。目次 開発…

VBA レジストリを利用して、エクセルブック外に値を保存する方法

エクセルVBAでツールを作る時に、エクセルマクロブックを閉じても、どこかに何かの設定を保存しておきたい時がありませんか?「本日〇回目のプログラムの実行します」の〇のところを変えたい、というイメージです。エクセルシートに書き込んでしまうのではな…

VBA 二段から三段へのステップアップ ~OLEオートメーションを確実に身に付ける勉強方法 3つの手順~

VBAの勉強でレベルアップするシリーズの二段から三段へのステップアップする手順を解説します。これまでの処理はエクセルの内部だけで処理が完結していました。これからはOutlookやInternet Explorerと言ったExcel以外のアプリケーションを操作する事を目指…

VBA OLEオートメーションで別のアプリケーションを動かす③ 今こそ身に付けておくべき、OLEを使うのに必要な調べる力

OLEオートメーションの難しさは調べることの難しさでした。プログラムの流れ自体は明快で分かりやすいものでした。今回はOLEオートメーションのクラス名、メソッド、プロパティの調べ方について解説します。この記事は二段です。 レベルについてはExcel VBA…

VBA OLEオートメーションで別のアプリケーションを動かす② OLEで他のアプリケーションを動かすコードの作り方 Internet Explorerの例

OLEの概念が分かったところで、実際にOLEでエクセル以外のアプリケーションを動かすプログラムを作っていきましょう。この記事は二段です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。この記事はオブジェクト…

VBA OLEオートメーションで別のアプリケーションを動かす① OLEの目的と概念

OLEオートメーションを使ってエクセル以外のアプリケーションを動かす方法を学ぶシリーズの1回目です。以降、単にOLEと呼びます。プログラミングを学習には、まず手を動かすことが大事です。しかし、オブジェクト指向、OLE、APIの3つに関しては、まずは概念…

VBA 初段から二段へのステップアップ ~クラスとオブジェクトを確実に身に付ける勉強方法 5つの手順~

VBAスキル初段から二段にステップアップする為の道のりについて解説します。VBAにおけるプログラミングで初段と二段には段差があります。それはオブジェクト指向です。二段へのステップはオブジェクト指向をどう攻略するかに掛かっています。今回はどのよう…

VBA クラスモジュールの使い方を超簡単に日本語のクラス名で具体的に解説する③ メールを作成するのに必要な機能を備えたクラスを作る

前回まででクラスモジュールの意義、目的、クラスとは何か、オブジェクトとは何かが分かりました。サンプルコードがシンプルすぎて実用的では無かったので、今回はメールの配信先を取得するという実用的なクラスを作っていきます。実際に使えるクラスを作っ…

VBA クラスモジュールの使い方を超簡単に日本語のクラス名で具体的に解説する② Propertyプロシジャを作る

エクセルVBAのクラスモジュールを日本語のクラス名で、徹底的に簡単に解説するシリーズの2回目です。この記事は初段です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。目次 Propertyプロシジャを作る Property…

VBA クラスモジュールの使い方を超簡単に日本語のクラス名で具体的に解説する① A1セルの値をメッセージボックスに表示させるだけのクラスをつくる

VBAによるプログラミングにオブジェクト指向を取り入れます。クラスモジュールは日本語での情報がネットでも本でも少なく、あっても超ムズかしかったので、誰でも分かる様に簡単に解説します。そもそもクラス名やメソッド名などがアルファベットなのでわかり…

VBA 上級者から初段へ⑤ 初段以上は経験と実力が比例しない事と、その解決策

上級者から初段へのステップアップの最終回です。今回は初段入りするための条件を解説します。この記事は上級です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。目次 初段にステップアップすると言うことはど…

VBA 上級者から初段へ④ 高速化を目指す上で大切なこと

<文言修正&誤字修正&[画面の更新を止める]に注意事項を追記 2019/11/02> 本質的な自動化について大幅加筆。小手先の簡単にできる高速化について加筆修正 2019/12/03VBAで作成したマクロの高速化を目指す上で大切なことを解説します。目次[:contents] 高速…

VBA 上級者から初段へ③ 変数名などの簡単な命名規則

VBAのプログラミングで上級者から初段にステップアップする為のシリーズの3回目です。今回はメンテナンス性と開発効率を上げるのに役立つ、変数名やプロシジャ名の付け方について解説します。この記事は上級です。 レベルについてはExcel VBAの実力(レベル…

VBA 上級者から初段へ② 標準モジュールの役割と理想的な処理の流れ

<分かりやすいように文言修正&誤字修正&脚注追加 2019/11/02>VBAで上級者から初段にステップアップするシリーズの2回目です。初段から二段へのステップアップも視野に入れて、コーディングの流れを意識したプログラミングを身に付けていきましょう。この…

VBA 上級者から初段へ① 上級を卒業する手順

<文言、誤字修正 2019/11/02>エクセルVBAで上級から初段にステップアップするシリーズです。今回は上級を卒業して初段になる為のステップを解説します。初段まで行けば一通り何でもできるレベルです。頑張っていきましょう。この記事は上級です。 レベルに…