メインカテゴリーを選択しなおす
エクセルVBAのSelectCase文をつかったマクロで条件分岐する方法
VBAにおける複数の条件分岐につかえるSelectCase文の特徴や使い方についてコードつきで解説します。
VBA|列挙体(Enum)を使うと表の見出しの増減に強いマクロができる
VBAには列挙体(Enmu)と呼ばれるものがあります。列挙体を一言でいえば、複数の定数を管理するために便利なもので、エクセルの表からデータを検索・抽出するマクロに利用すれば表の変化に対応がカンタンです。ここでは、列挙体の基本的な使い方やメリットについて紹介しています。
VBA|IsNumeric関数で値や変数が数値かどうかを判定するマクロをつくる
VBAには値や変数を判定する関数がいくつか存在します。そのうちのひとつにIsNumeric関数があり、この関数は指定した値や変数が数値かどうかを判定し、結果を真偽値としてTrueまたはFalseを返します。ここでは、VBAのIsNumeric関数の使いかたや、サンプルマクロを紹介しています。
VBA|IsDate関数で値や変数が日付かどうかを判定するマクロをつくる
VBAには値や変数を判定する関数がいくつか存在します。そのうちのひとつにIsDate関数があり、この関数は指定した値や変数が日付かどうかを判定し、結果を真偽値としてTrueまたはFalseを返します。ここでは、VBAのIsDate関数の使いかたや、サンプルマクロを紹介しています。
VBA|IsObject関数で値や変数がオブジェクトかどうかを判定するマクロをつくる
VBAには値や変数を判定する関数がいくつか存在します。そのうちのひとつにIsObject関数があり、この関数は指定した変数がオブジェクト変数であるかを判定し、結果を真偽値としてTrueまたはFalseを返します。ここでは、VBAのIsObject関数の使いかたや、サンプルマクロを紹介しています。
VBA|IsEmpty関数は変数が初期化されているかを判定する
VBAには値や変数を判定する関数がいくつか存在します。そのうちのひとつにIsEmpty関数があり、この関数は指定した変数が初期化されている、またはEmptyが設定されいるかを判定して、結果を真偽値であるTrueまたはFalseで返します。VBAのIsEmpty関数の使いかたや、サンプルマクロを紹介しています。
VBA|IsArray関数で変数が配列かどうかを判定するマクロをつくる
VBAのIsArray関数は変数が配列かどうかを判定します。IsArray関数は配列をつかったマクロに利用することで条件分岐やエラーハンドリングに使うことができます。本記事ではVBAのIsArray関数の使い方をサンプルマクロつきで解説しています。
VBA|IsNull関数は指定した値にNullがふくまれるかを判定する
エクセルVBAにはNull(ヌル)であることを判定する関数のIsNull関数があります。Nullとは0や空文字・Emptyとも異なり、なにもない状態をさします。こちらの記事ではVBAのIsNull関数の使い方をサンプルマクロつきで解説しています。
VBA|IsError関数は指定した値や式をエラーか判定する
エクセルVBAには値や式がエラーであることを判定する関数のIsError関数があります。IsError関数はエラーを判定したときにTrueを返します。こちらの記事ではVBAのIsError関数の使い方をサンプルマクロつきで解説しています。
使えない有休 年度末が近づき、人事部からは有休消化を促す“お触れ”が回ってきました。かつて、残業時間“ほぼ”ゼロを達成し、有給消化率も九割を超えた我が部署ですが、それも今は昔。業務量はそのままに欠員が常態化している今の体制では、与えられた有休の半分も使えれば御の字。これから忙しくなる年度末までの間に休みを取る雰囲気ではありません。 欠員が常態化していても、傍から見れば仕事は回っています。いや、仕事が勝手に回ることなどなく、残された部員が少しずつ負担を増やしてなんとか仕事を回しているのです。それは、あくまでも欠員が補充されるまでの間の“辛抱の時期”。しかし、そんな異常事態の中で仕事を続けていれば…
無駄な仕事 今や多くの会社ではDX推進やAI導入が検討され、または、実際に着手され始めているのだと思いますが、私の勤め先でも多分に漏れず、昨年公表された中期計画の目標に掲げられました。 具体的に何がどう変わるのかは現在精査中 ‐ 企画部門の説明から、これがまたしても“御家流”の勇み足だと理解できました。 DXやAIなどの言葉が知れ渡る以前より、業務の合理化・効率化については、複数の部門から提言があったものの、それを全社的に推し進めようとする動きにはなりませんでした。 生産性の低い仕事 - 会社の収益への貢献度が極めて低い仕事 – を無駄な仕事と切り捨てることができれば、目下会社が頭を悩ませてい…
エクセルVBA|コメントアウトを一括でまとめて設定・解除する方法
エクセルVBAに限らず、プログラミングをする人にとって一部のコードを実行しないようにすることをコメントアウトと言います。VBAでは、文頭に(')シングルクォーテーションを書くことで対象の行をVBAのプログラムコードではなく、コメン
エクセルVBA|Functionプロシージャ(関数)で自作の計算式や処理を実行する
エクセルVBAでは、ひとつの処理のかたまりをプロシージャと呼びますが、このプロシージャにはいくつかの種類があります。一般的な使用に用いられる sub プロシージャでコードを書くこともできますが、プログラミングの上達するには、特定の処理のかた
エクセルVBA|Withステートメントの使い方と注意しておくべき点
VBAで同じオブジェクトに対して複数の操作を行うとき、どのようにコードを書いていますか?オブジェクト名を何度も繰り返し書いていませんか?VBAで同じオブジェクトに対して命令を書くときは、Withステートメントを使ってみましょう。Withステ
攻めと守り 低付加価値業務の削減や組織スラックの創出は、本来、事業の飛躍のための“攻めの手段”なのだと思います。 翻って、私の勤め先で、そのような攻めの手段が有効かと問われれば、必ずしもそうではありません。現有人員は足元の業務を回すのに手一杯です。無駄な仕事の断捨離が実現できたとしても、その効果は人手不足による業務負荷が多少軽減されるに留まるだけでしょう。 ようやくマイナスがゼロなるだけでは組織としての余力を生み出すことにはなりません。そのためには、DXやCXの着手を論じる以前に“守り”としての人材確保が先なはずです。 どこの部署も年々“所帯”が小さくなっています。かつての“課”は課長以下少な…
恒常的な定員割れ 業務の効率化については、過去の記事で何度か触れたことがあります。 lambamirstan.hatenablog.com lambamirstan.hatenablog.com 何をもって“効率化を達成できた”とするかについてはいろいろな考えがありますが、かつて私が管理職だった時に効率化達成の指標としたのは“残業ゼロ”でした。 結果として、年間を通じての残業ゼロの達成は叶いませんでしたが、私の部署では数か月間、残業無しで所定の業務を滞りなく行なえる状態が続きました。それがストップしたのは、上からの指示で他部署の仕事を引き受けることになったからです。 業務の効率化によって残業時…
労働生産性の土台 私の勤め先では、どの部署も例外無く“労働生産性の高い組織作り”を目標に掲げさせられています。要は、社員の残業時間を減らして有給休暇の取得率を上げよ、と言うことです。 人材流出が止まらない会社において、社員の残業を減らして、なおかつ休暇を取りやすい環境を整えるのは無理があります。 本来必要とされる“定員”を満たしていない部署がほとんどです。組織目標を完遂するための労働時間の総量が同じなら、人が減った分、各人の労働時間が増えるのは小学生でも分かる話です。慢性的な人手不足は、採用が思いどおりに進まない昨今の状況を見れば、今後改善されることなど期待できません。 私の部署では、かつて一…
ラジオであるアメリカの病院で、業務の効率化を上げた事例が紹介されていました。改善前は、施術室は常に満杯で急患が入ると調整に非常に手間がかかり、事務的にもサービス的にも経営的にも非常に苦しい状況だったそうです。改善案で何を行ったかというと、施術室は常に1箇所は空ける予定を組んだんだそうです。当然医師及び事務員から猛反発があったそうですが、いざ強行してみると急患が入っても対応できるようになり、その際の...