ゆんの業務改善ブログ

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

プログラミング言語としてVBAが好きだけど、次に進む

エンジニアの人はサービスを作るのが目的。私は業務効率化が目的。目的があればそれにあった手段を選べばいい。日常業務は右を見ても左を見てもエクセルが多いのでVBAを始めました。最初はシートやブックを操作するだけでしたが、次第にメールを送信したり、…

VBAで複数のモジュールを使いこなす② イベント処理のためのシートモジュールとブックモジュール 

シートモジュールやブックモジュールを使いこなすことはできていますか。今回はシートモジュール、ブックモジュールの意義とイベントプロシジャについて解説します。目次 シートモジュールとブックモジュールとは イベントとは よく使うイベントプロシジャ …

VBA Closeメソッド|エクセルブックを閉じる方法とその周辺

VBAにおけるちょっとした便利ツールを開発するにあたり避けることができないエクセルのブックを閉じる方法とその周辺の技術について解説します。単にアクティブなエクセルのワークブックを閉じるだけでなく、一歩踏み込んだ操作を実装してツールの完成度を高…

VBA|簡単に開発できるからこそ、本番移行判定という儀式をちゃんと行う

VBAによる開発は細かな要件定義などを省いてとりあえず核となる部分を作ってしまうのが最短です。VBAは簡単に自動化ツールなど便利ツールの開発に着手できることがメリットです。一方、簡単に開発が可能だからこそ、リリース前に本番移行判定という儀式を行…

VBA 配列を徹底的に解説する (全5回) ⑤動的配列

VBAの配列を徹底的に解説するシリーズもいよいよ最終回です。今回は配列の形が変わる動的配列について解説します。<これまでの配列の解説> VBA 配列を徹底的に解説する (全5回) ①イメージをつかむ VBA 配列を徹底的に解説する (全5回) ②静的配列 VBA 配列…

VBA 配列を徹底的に解説する (全5回) ④多次元配列

VBAにおける多次元配列を解説します。これまで見てきた配列では一階建てのアパートのように一列に並んだ部屋に値を格納していくイメージでした。これからは配列をより使いこなすためにアパートを二階建て、三階建てにしていきます。<これまでの配列の解説>…

VBA 配列を徹底的に解説する (全5回) ③静的配列の初期化と実務的なサンプル

VBAの静的配列の初期化を具体的で実務的なサンプルを使って解説します。配列が初期化できると実務的に便利なことが多いです。難しくないので、順番に見て行きましょう。目次 静的配列の初期化と実務的なサンプルを解説する 配列の初期状態とは 静的配列の初…

働き方改革の本質はより豊かな人生を送ること。生き方改革という名前にした方が分かりやすい

働き方改革という言葉が定着して久しいですね。 これほど日常的に目にすると言うことは具体的に何をしたらいいのか分からないから試行錯誤を繰り返していると言うことなのでしょう。試行錯誤の過程でよりよい概念が生まれてくるのは健全だと思います。私が思…

VBA 配列を徹底的に解説する (全5回) ②静的配列

今回はVBA配列の中で基本に当たる静的配列について解説します。配列と言う言葉自体が初めての方はVBA 配列を徹底的に解説する (全5回) ①イメージをつかむを先にご覧頂くと良いと思います。目次 静的配列をマスターする 静的配列とは インデックスを知る イン…

VBA 配列を徹底的に解説する (全5回) ①イメージをつかむ

VBAを使い初めてしばらくはシート上の操作の自動化が主なので配列の必要性を感じないかもしれません。しかし配列をマスターすると、高速化を図ったり、データを一つにまとめておいて一部を取り出すなどプログラミングの自由度が増し、とても便利になります。…

VBA 自動化ツールの目的を深掘りして、完成度を高める②(入力データ/ユーザーインターフェース編)

自動化ツールを作成するに当たり、その目的を深掘りすることによって完成度を高めることができます。VBA 自動化ツールの目的を深掘りして、完成度を高める①(出力データ編)では出力物に解説しました。今回は、入力データ/ユーザーインターフェースに着目し…

VBA 自動化ツールの目的を深掘りして、完成度を高める①(出力データ編)

VBAの自動化ツールについて、使い勝手の良いツールに仕上げていく手順について解説していきます。目的を深掘りすることで、完成度を高める事ができます。 目次 開発案件の目的を深掘りして完成度を高める 出力データを得ることが目的のプログラムの場合 出力…

VBAで作ったマクロの高速化②|エクセルブックを開いたり閉じたりする事自体は速くならないことの対策

VBAによる自動化で時間が掛かる処理の一つにエクセルブックを開く作業と閉じる作業が挙げられます。VBAで自動化する業務はほとんど全て入力データがあり、何かしらの加工を行った上で保存して閉じるという作業である以上、ブックを開いたり閉じたりする作業…

VBA 動的二次元配列を実務で使う :行方向に要素を追加したい時の解決方法

VBAの配列は有効に使いこなせていますか?セルへの書き込みによるマクロの実行時間を削減するには、配列を利用するのが効果的です。詳しくは VBAで作ったマクロの高速化① 配列を使うで解説しています。今回は転記したい範囲が予めわからない場合の対応方法を…

VBA 既存のツールのプログラムコードを見直す

ツールを一度リリースしたらもう終わりになっていませんか。完成したツールを後から見直すと色々と気づきがあるものです。 今回はプログラムのユーザーからみた挙動を変えずにコードを書き直すリファクタリングについて見ていきます。 プログラムコードはど…