ゆんの業務改善ブログ

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

VBAの勉強

多くの企業で大活躍しているエクセルの作業を自動化するのに最適なVBAの解説やVBAのレベルアップを目指すカテゴリ

VBA FileDialogオブジェクト|フォルダをユーザーに選択させる

VBAで自動化ツールを作成する場合に、ユーザーに成果物を保存する場所やファイル名をしてもらいたい場合があります。そんなときに便利なダイアログボックスを表示する、FileDialogオブジェクトを解説します。なお、サンプルコードが一部横に長くなっており、…

VBA GetOpenFilenameメソッドの使い方

VBAで処理対象のファイルなどをユーザーに選択させるGetOpenFileメソッドの文法を解説します。

VBA Enumで数値の定数をまとめて定義する

VBAのプログラムで定数をまとめて定義するEnum~End Enumステートメントを解説します。

VBA 定数Constの使い所と定数を使う理由

エクセル作業の自動化に便利なVBAで定数を宣言するConstを解説します。目次 定数とは何か 定数の文法 定数の宣言Const 定数は値の書き換えができない 定数の使い所は自己防衛が必要な場面!? 定数Constを使う理由 VBA 定数Constの使い所と定数を使う理由ま…

VBA 繰り返しのFor~Next文をネストするコツ|4桁のパスワードを破る

VBAのプログラミングで繰り返しのFor~Next文をネストするコツを解説します。人に教える中で普通のFor文が書けてもFor文のネストの話になると苦労した人がいrるためです。For~Next文の書き方の解説は世の中にあふれるほどありますが、ネストのコツを解説した…

VBA開発最大の弱点|属人化への対応方法

VBAは自動化やデータのチェックといった業務改善ツールを、非エンジニアでも簡単に開発することができる便利なプログラミング言語です。非エンジニアの事務職にとっても取り組みやすく非常にありがたい存在です。VBAでエクセル作業を自動化する事は作業時間…

VBA 初心者が最初に押さえるべき文法10選

VBAは非エンジニアの事務職でプログラミング経験がゼロの人でも取り組みやすい言語です。一方で、取り組みやすいと言ってもどこから手をつければ良いのかわからない人もいるのではないでしょうか。今回は始めに押さえておくべき10個の文法を紹介します。これ…

プログラミング|業務改善関連用語事典

プログラミングと言えばコンピュータが動作する指示を人間が分かる様にしたプログラミング言語を使って記述することです。ここでは業務改善のための道具という立場から見たプログラミングを解説します。目次 業務改善のためのプログラミング かなりいろいろ…

VBA 上級技 エクセルでピアノを作る

エクセルでピアノの鍵盤を作る方法を解説します。直接的に何かの役に立つわけではなく、プログラミングの練習、もしくは単なる遊びです。しかし、勉強する事と遊びの境目がなくなれば 最強 です。楽しんでやれば挫折しないからです。それでは早速見ていきま…

エクセルVBAでできることと限界|業務自動化からピアノ演奏まで

エクセルVBAでできる事を紹介します。マクロの記録のイメージがつよいエクセルVBAですが、自動化だけではなく業務システムの構築やゲーム、楽器として音を流すなど様々なことが可能です。 エクセルVBAでどこまでできるのかチェックしてみましょう。

【VBA】大量のエクセルシートにテーブルを設定する|Power BI対策でテーブルを設定

Power BIというMicrosoft社のBIツールを利用するに当たり、大量にエクセルファイルにテーブルをセットする必要が生じたので、それを解決するVBAのサンプルコードをご紹介します。より深く理解したい方は、関連記事やブログ後半の解説を併せてご覧下さい。<…

【プログラミング】文法の勉強だけでは遠回り|挫折しない上達のコツ

きょうはプログラミング上達のコツについてお話しします*1。私はエンジニアではありませんが、会社で事務職の社員を相手に簡単な自動化プログラムが作れるようにするための講師を務めています。今回お伝えする内容は、どのプログラミング教室を選ぶかよりも…

VBA Errオブジェクトの使い方

VBAによる自動化ツールの作成において、Errオブジェクトの使いどころを解説します。この記事は、VBAのエラーをトラップする事ができるErrオブジェクトを取り上げています。エクセルのErrorクラスとは別モノなのでご注意下さい。目次 Errオブジェクトの使い方…

VBA 開発速度を高める開発手順まとめ

VBAで自動化ツールを作る際の手順をルーチン化しておけば、開発の効率を高めることができます。今回は開発効率を高めるための手順をまとめます。目次 開発効率を高めるためには開発手順をルーチン化する 結論:具体的な手順 概要書受領 要求仕様書を共同で仮…

VBA |初心者向けオススメ独学本レビューまとめ

業務自動化の定番、エクセルVBAを独学で身に付けるのにオススメの初心者向け書籍を紹介します。すべて、実際に購入し私自身がレビューしたモノのみ紹介します。

VBAでSharePointにファイルをアップロードする

VBAでSharePointにファイルをアップロードする方法について解説しました。

VBA ランダムな値を返すRnd関数の使い方

ランダムな小数の値を返すRnd関数を解説します。 目次 Rnd関数は0より大きく1よりランダムな小さい値を返す Rnd関数の使い所 ランダムな選択肢を生成する サンプルデータ用のランダムな値を生成する Randomizeステートメントと併せて使う Rnd関数は0より大き…

VBA FileSystemObjectを使ってファイルやフォルダを操作する

VBAでファイルやフォルダを取り扱おうとすると、様々なメソッドを駆使する必要があり、なかなか大変です。今回はファイルやフォルダの取り扱いを一手に引き受けるコンピュータのファイルシステムを利用して、VBAで簡単にファイルやフォルダの取り扱いを行う…

VBA Do ~ Loopで繰り返しを自在に操る

今回はVBAでDo Loopを使って繰り返しをする方法を解説します。この記事はFor ~ Nextの繰り返しは使ったことがあるものの、Do ~Loopには馴染みが薄いという方を読者に想定しています。目次 Do ~ Loop を自在に使いこなす Do ~ Loopの文法 キホンの4通り これ…

VBA MkDir|今月のフォルダを作成する

フォルダを作成するMkDirステートメントの使い方を解説します。サンプルコードでは、毎月月初に当月のフォルダを作成するコードを取り上げます。目次 今月のフォルダを作成する いきなり文法の結論 エラーになるケースを補足説明 今回やりたいことのイメージ…

VBA 高速化 | ループ検索の速度を上げる方法(バイナリーサーチ)

今回はVBAでループを使った検索を高速化する方法を解説します。この記事はApplication.ScreenUpdating = Falseや配列を使ってセルの書き込み回数を減らしてもなお、For文を使ったループ検索の部分で満足できる高速化が実現できていない人を読者に想定してい…

VBA コンボボックスでユーザーに直接入力させない|ユーザーフォームの使い方

VBAのユーザーフォームで使えるコントロールのひとつ、コンボボックスの使い方を解説します。この記事は非エンジニアの会社員でVBAで自動化ツールを開発している人を読者に想定しています。目次 コンボボックスの使い方 コンボボックスとは コンボボックスを…

VBA チェックボックスをFor文でループして検知する|ユーザーフォームの使い方

VBAのユーザーフォームでチェックボックスを使う方法について解説します。この記事は非エンジニアの会社員でVBAのツールでユーザーフォームの使い方を調べている方を読者に想定しています。目次 チェックボックスを使う チェックボックスとは チェックボック…

VBA オプションボタン|ユーザーフォームの使い方

VBAのユーザーフォームでオプションボタンを使う方法について解説します。この記事は非エンジニアの会社員でVBAのツールでユーザーフォームの使い方を調べている方を読者に想定しています。目次 オプションボタンを使う まずオプションボタンとは何かについ…

VBA テキストボックスにInitializeで値を設定する|ユーザーフォームの使い方

今回はVBAのユーザーフォームでテキストボックスにデフォルトの値を設定し、ユーザーの使い勝手を高めます。この記事はVBAで自動化ツールを作成している非エンジニアの会社員を読者に想定しています。目次 ユーザーフォームが表示される事がトリガーのイベン…

VBA テキストボックスの基本|ユーザーフォームの使い方

この記事では、ユーザーフォームでテキストボックスを一工夫することによって気の利いたユーザーインタフェースにする事を目指します。エクセルVBAで自動化ツールを作成している非エンジニアの会社員を読者に想定しています。目次 気の利いたユーザーフォー…

VBA ユーザーフォームを使う3ステップ

今回はVBAでユーザーフォームを使う方法について解説します。VBAで簡単な自動化ツールの開発をしている会社員を読者として想定しています。初めてユーザーフォームを使う人を対象に解説します。とりあえず動くモノが作れるところまでいきます。目次 ユーザー…

VBA エディタの設定を変更する

エクセルVBAでプログラムコードを記述する部分の設定を変更して、使いやすくする方法を簡潔に解説します。目次 エディタの設定を変更する プログラミングの効率を上げる設定 自動構文チェックを外す 変数の宣言を強制する コードを見やすくする コードの表示…

VBA 三段から四段へのステップアップ ~APIを身に付ける~

VBAプログラミングの勉強で最後に出てくるのがAPIです。エクセルVBAのプログラミングの最後の一山です。これで一通り知らない文法はなくなります!頑張って行きましょう。この記事はオブジェクト指向やOLEインフォメーションが理解出来ている方(当ブログで…

チェックリスト|VBAで人の為に作る開発ドキュメント

今回はVBAで業務自動化を目指す非エンジニア会社員向けに、VBAで開発をする際に用意しておきたいチェックリストについて解説します。目次 チェックリストがリリース前のテストを有意義にする チェックリストとはリリース時のテストに使うToDoリスト テストと…