はじめまして。重工メーカーで機械設計をしているベルといいます!
数年前からずっと「やろう」と思っていた、VBA
いわゆる“Visual Basic for Application”を、本腰を入れて学習を始めます
それに当たり、なぜ、2024年のいまからVBAを学ぶのか?
書き残しておきます
この記事の目的
- いまからVBAを学ぶか悩んでいる人に、きっかけを提供
- 初心者→中級者を目指す意味

自分がVBAをやりきるための、宣言でもあります
なぜ2024年のいま、VBAを学ぶのか

2024年にもなって、いまさらVBAを学ぶ理由は下記の通り
- 楽をしたい
- VBAの知識はまだ役に立つ
- プログラミング基礎として使う
順番に解説していきます
楽をしたい

VBAを使って、面倒な事務作業をなくして、楽をしたいと思ったため
というのも、日本の企業に勤めている限り、面倒な事務仕事が発生します
私も日本の、歴史ある重工メーカーに勤めているため、くだらない事務作業が多いです
- 書類番号の管理がExcel
- 同じ情報を、あらゆる書類に記載する
- 勤怠管理は手入力
- 別のExcelで計算した内容を、別のExcelに転記する
- あらゆるフォルダに保管する必要がある謎の書類
- なぜか一つだけ存在するWordテンプレートは手入力必須
パッと思いつくだけでも、上記の通り
ここ数年で業務の変化もあり、事務作業が増え、Excelの関数等でどうにかしてきましたが、それも限界が見えてきました
その結果、無駄に感じる時間が増え、「楽をしたいな」と思ったのが、VBAを始めるきっかけ
VBAの知識はまだ役に立つ【機械設計者も】

VBAの知識は、Microsoft Officeを使うかぎり、今後も役に立ちます
理由は、VBAはMicrosoft Officeでしか使えませんが、仕事の8割はMicrosoft Officeを使用するため
つまり、VBAができれば、仕事の8割は効率化できる可能性があります
日本の会社、特にメーカーでは、Microsoft Officeが主流
そのため、転職しようが、Microsoft Officeを使い続ける限り、VBAは今後も役に立つと判断しました

私のいまの会社(重工メーカー)でも、Microsoft Officeを使っています
プログラミング基礎として使う

プログラミングの、基礎として学びます
というのも、Pythonの学習をしていて「あまりにプログラミングの基礎知識がなさすぎる」と痛感したため
ただでさえPythonもわからないのに、プログラミングに必要な基礎知識も学ぶ必要もあると、あまりに負担が重い
一方VBAであれば、いままで何度か、Excelで触れてはいます
そのため、VBAの入門部分は、軽い負担で済むと推測
PCのフォルダ構造の取扱いも学べるため、プログラミングに役立つ知識も得られると考えました
ただ、プログラミングは作ってなんぼ
学ぶことではなく、使うことを優先して進めます

VBAは、深いところではPythonと似ている言語らしい
次の目標である、Pythonの学習にも少しは役に立ってくれればいいな、くらいの気持ちです
VBAで、どこを目指すのか

- Office雑務の完全自動化
- Pythonとの連携
- 役に立つVBAを紹介できる
順番に解説していきます
Office雑務の完全自動化

Microsoft Officeを使う、雑務の完全自動化を目指します
理由は、負担が軽い仕事の数が増え、雑務が増加したため
雑務は、下記のようなものを指します
- PDF発行・特定のフォルダに保存
- 転記や、複数のデータへの同時入力
- 書類の見た目の改善
上記のような雑務は、自分のスキルを伸ばすことだけを考えると無意味
そのため、いまあるOffice雑務を自動化できるくらいにVBAのスキルを高めることで、有益な時間にします
Pythonとの連携

PythonとVBAを掛け合わせた自動化も、目標のひとつ
というのも、自動化したい仕事に、Pythonだけでは難しいこともあります

例えば、Excelの細かい作業を、Pythonでやるのは骨が折れそう
最終的に、PythonとVBAを組み合わせて、「できない自動化はない」くらいにしたいです
役に立つVBAを紹介できる

機械設計者がする雑務を、自動化できるVBAの紹介を、このブログでしていきます
というのも、私はVBAを挫折した経験が、何度かあります
その時に思ったのが、「自分がやりたいことがわかるサイトや記事がひとつもない!」ということ
経理の仕事でよく使われるためか、機械設計者の雑務を片付けるのに役立つ記事が、まったくありません

プログラミングの強みである、「ググって解決する」が、できなかったです…
そこで、私自身がVBAを理解し、自分で何とかできるレベルを目指す
その上で、機械設計者や、近い仕事をしている方の雑務を片付けるような、VBAの公開を計画しています

アウトプットすることで、記憶に定着させる、自分のためでもあります
余談:機械設計にVBAは不要

私は機械設計をやっていますが、「仕事に必要か?」と聞かれたら、不要です
というのも、機械設計の業務は次のとおり
- 強度計算
- 作図
- コミュニケーション
VBAが大きな効果を出すのは、上記以外の作業になります
そのため、機械設計力に不安がある方は、VBAを学ぶ前に機械設計の勉強に集中するのをオススメします

機械設計者は、機械設計の能力が高い方が評価されます
まとめ:楽するためにスキルを上げる
2024年にもなって、VBAをいまさら学ぶ理由は単純で、「楽をしたいからスキルを上げる」
この過程で得た、役に立った情報を、ブログで紹介していきます
読んでいただいた方には、より楽に、VBAをマスターできるのが理想
書いていく内容は、例えば次のような内容です
- VBAで挫折しやすいポイント
- 機械設計者が職場で無双できるレベル
- そこに至るまでの学習ロードマップ
私がVBAを挫折した回数は、たぶん5回以上
正直くやしいですが、「VBAは、ここで挫折しやすいから、ここだけは頑張る必要がある」というところも伝えることができると思っています

皆さんには挫折しにくい環境で、VBA学習を進めていただければと思います
また、VBAの記事は腐るほどありますが、すべてだらだらと、長い記事が多い印象
私の記事もだらだらと長くなりがちですが、その改善も視野に入れ、「わかりやすく、でも簡潔に、結論から述べる」を意識して書きます
また、VBAは無料で学べるサイトもたくさんありますが、ブログで紹介することも考え、体系的に説明したいと思い、私は下記の書籍を購入しました
以前挫折した時には、Kindle Unlimitedで無料で読めた、下記の増強改訂前の本を参考にしていました

内容はかなりわかりやすかったです
書籍を使う場合は、自分にあったものを好きに選べばいいと思います
では、これからVBAを学んで、雑務の効率化に革命を起こしていきましょう