VBAの勉強
<文言、誤字修正 2019/11/02>エクセルVBAで上級から初段にステップアップするシリーズです。今回は上級を卒業して初段になる為のステップを解説します。初段まで行けば一通り何でもできるレベルです。頑張っていきましょう。この記事は上級です。 レベルに…
今回は中級から上級へのステップアップを果たすスピードが爆上がりするデバッグを上達する方法を解説します。<誤解を招かない表現に修正 on 2019/11/01> エクセルVBA中級者から上級者へのステップアップ① 中級を卒業するためのステップで解説したように、…
VBAで中級から上級にステップアップするシリーズの4回目です。今回はVLOOKUPの検索値と戻り値を調べることで、データの取り扱いに配慮する事について解説します。VBAではなく通常のエクセル関数のVLOOKUPがうまくいかない事例を見てから、エラーの回避に取り…
エクセルVBAで中級から上級にステップしようとアップするシリーズの3回目です。今回はVBAによる自動化で頻発する、エクセルブックを開く動作の周辺のエラー撲滅とユーザビリティの向上を目指します。この記事は中級です。 レベルについてはExcel VBAの実力(…
VBAで中級から上級へのステップアップの2回目です。今回は、他人に使ってもらうツールで頻繁に利用されるメッセージボックスで使い勝手を向上させ、メッセージボックス周りのエラーを撲滅していきます。この記事は中級です。 レベルについてはExcel VBAの実…
この記事はVBAで自動化ツールの作成を目指している非エンジニアの会社員を読者に想定しています。どんなに小さくてもよいので一つ完成品を作ったことのある中級者を上級者の入り口まで連れていくシリーズです。目次 中級から上級を目指す 中級者とは 中級者…
エクセルにはマクロの記録という便利な機能がついています。しかし、その本当の使い方を知らず、「作業を記録することで簡単に自動化できる機能」と勘違いしてしまっている方が多いように思います。今回はマクロの記録の本来的な使い方(と同時に本当に価値の…
プログラミング自体が初めての入門者を初心者の出口まで連れていくシリーズの最終回です。前回までで、繰り返しと条件分岐ができました。エクセルの実務を自動化するための最低限の武器を既に手に入れたので、今回は表の作成を実際に行っていきます。この記…
今回は繰り返しと双璧をなす重要文法のIf文について学んでいきます。この記事は初心者~初級者です。 レベルについてはExcel VBAの実力(レベル)を定義してみる 初心者~三段をご参照ください。 目次 もし○○だったら、これは△△ 今回はシンプルに目次が一項…
この記事は、プログラミング自体が初めての人が、最初に選ぶ言語にVBAを選んだ場合に、入門者が初心者を卒業し、初級者の入口までレベルアップするためのシリーズの3回目です。5回までマスターすれば確実に初級者の入口に立てます。頑張っていきましょう。こ…
入門者~初心者向けVBA解説記事シリーズの2回目です。今回はプログラミングの重要な文法に踏み込んでいきます。一回目はExcel VBA入門 本当のど初心者向け①とりあえず何か書いてみるです。この記事は入門~初心者向けです。 レベルについてはExcel VBAの実力…
今回は本当のプログラミング初心者が業務効率化をExcel VBAで始める方法とその第一歩を踏み出すまでについて解説します。業務効率化ならExcel VBAから始めるのがオススメな理由 10選 - ゆんの業務改善ブログで解説した通り、エクセルを多く利用している職場…
プログラミングの時にコメントを有効に使っていますか?私なりの方法をご紹介したいと思います。プログラミング教室に通ったりエンジニアとして就職した経験があるわけでは無いので、まだまだ使い方はあるかもしれませんが、そんなときはどうぞご教示下さい…
<2019/12/29誤記訂正。失礼しました>エクセル作業をVBAで自動化した時、その結果をメール配信するところまで自動化できればいいな、と思ったことはありませんか?OLEというワザを使えば簡単にできてしまいます。今回はOLEを使ってメール配信をしてみましょ…
あなたの職場でも一つはエクセルのマクロがあるのではないでしょうか。自分でVBAというプログラミング言語を書く事ができれば、自由自在にエクセルとその周辺の作業の自動化をする事ができます。しかし、VBAは遅いという評価をされることがしばしばあるプロ…
シートモジュールやブックモジュールを使いこなすことはできていますか。今回はシートモジュール、ブックモジュールの意義とイベントプロシジャについて解説します。目次 シートモジュールとブックモジュールとは イベントとは よく使うイベントプロシジャ …
VBAにおけるちょっとした便利ツールを開発するにあたり避けることができないエクセルのブックを閉じる方法とその周辺の技術について解説します。単にアクティブなエクセルのワークブックを閉じるだけでなく、一歩踏み込んだ操作を実装してツールの完成度を高…
VBAによる開発は細かな要件定義などを省いてとりあえず核となる部分を作ってしまうのが最短です。VBAは簡単に自動化ツールなど便利ツールの開発に着手できることがメリットです。一方、簡単に開発が可能だからこそ、リリース前に本番移行判定という儀式を行…
VBAの配列を徹底的に解説するシリーズもいよいよ最終回です。今回は配列の形が変わる動的配列について解説します。<これまでの配列の解説> VBA 配列を徹底的に解説する (全5回) ①イメージをつかむ VBA 配列を徹底的に解説する (全5回) ②静的配列 VBA 配列…
VBAにおける多次元配列を解説します。これまで見てきた配列では一階建てのアパートのように一列に並んだ部屋に値を格納していくイメージでした。これからは配列をより使いこなすためにアパートを二階建て、三階建てにしていきます。<これまでの配列の解説>…
VBAの静的配列の初期化を具体的で実務的なサンプルを使って解説します。配列が初期化できると実務的に便利なことが多いです。難しくないので、順番に見て行きましょう。目次 静的配列の初期化と実務的なサンプルを解説する 配列の初期状態とは 静的配列の初…
今回はVBA配列の中で基本に当たる静的配列について解説します。配列と言う言葉自体が初めての方はVBA 配列を徹底的に解説する (全5回) ①イメージをつかむを先にご覧頂くと良いと思います。目次 静的配列をマスターする 静的配列とは インデックスを知る イン…
VBAを使い初めてしばらくはシート上の操作の自動化が主なので配列の必要性を感じないかもしれません。しかし配列をマスターすると、高速化を図ったり、データを一つにまとめておいて一部を取り出すなどプログラミングの自由度が増し、とても便利になります。…
自動化ツールを作成するに当たり、その目的を深掘りすることによって完成度を高めることができます。VBA 自動化ツールの目的を深掘りして、完成度を高める①(出力データ編)では出力物に解説しました。今回は、入力データ/ユーザーインターフェースに着目し…
VBAの自動化ツールについて、使い勝手の良いツールに仕上げていく手順について解説していきます。目的を深掘りすることで、完成度を高める事ができます。 目次 開発案件の目的を深掘りして完成度を高める 出力データを得ることが目的のプログラムの場合 出力…
VBAによる自動化で時間が掛かる処理の一つにエクセルブックを開く作業と閉じる作業が挙げられます。VBAで自動化する業務はほとんど全て入力データがあり、何かしらの加工を行った上で保存して閉じるという作業である以上、ブックを開いたり閉じたりする作業…
VBAの配列は有効に使いこなせていますか?セルへの書き込みによるマクロの実行時間を削減するには、配列を利用するのが効果的です。詳しくは VBAで作ったマクロの高速化① 配列を使うで解説しています。今回は転記したい範囲が予めわからない場合の対応方法を…
ツールを一度リリースしたらもう終わりになっていませんか。完成したツールを後から見直すと色々と気づきがあるものです。 今回はプログラムのユーザーからみた挙動を変えずにコードを書き直すリファクタリングについて見ていきます。 プログラムコードはど…
せっかく覚えたVBAで自分だけの便利ツールを作ってうまくいくと嬉しいと思います。そのうち周りの人に使ってもらいたいとか、何か便利ツールを作ってあげたいと思うようになってきた人もいるのではないでしょうか。今回はVBAで自分だけ効率化している状態か…
VBAによるプログラミングで、DateSerial関数とバブルソートを使ってエクセルのシートを並び替える方法を解説します。一見難しそうな処理も一工夫することで解決する実例を見ていきます。大抵のことはできる、という意識が大切です。目次 DateSerial関数とバ…