デジタル人材(非エンジニア)のExcel VBA学習法【Udemy厳選5選】

  • 2020年7月18日
  • 2022年10月30日
  • DIGITAL
ExcelVBAプログラミング学習は、非エンジニアにもできますか?
ExcelVBAプログラミング学習で、おすすめのUdemyのコースはありますか?
 

こんな疑問に答えていきたいと思います。

こんにちは!よんりん(Yonrin)です。
当記事を書いている私は、デジタル技術のコンサルタントです。

いきなりですが、一言。

Excelがうまく使えるようになると、日々の労働時間が激減します。

表を作る以外にも、色んな機能が用意されています。

きちんと勉強したことがない非エンジニアの方も多いのではないかと思います。

当記事を読めば、Excelの勉強がなぜ大事なのか、どのように勉強すべきかが、分かります

もしまだお読みでなければ、「デジタル人材(非エンジニア)になるための学習ロードマップ【保存版】」の記事も合わせてどうぞ。

非エンジニアでもExcelを活用できなければならない理由

いきなりですが、Excelの活用に自信のない人は、今すぐ学習すべきです。

理由は以下の3つ。

  • Excelを使いこなせられれば仕事のスピードが格段に速くなるから
  • プログラミングをこれから学習したい非エンジニアはまずExcel VBAから学べば理解が速いから
  • Excelはこれからも寿命の長いアプリケーションだから

ひとつずつ、説明していきます。

Excelを使いこなせられれば仕事のスピードが格段に速くなるから

まず、ここが一番です。

確実に仕事のスピードが上がります。10倍以上変わります。

日々の仕事のスピードを上げるために、何週間も勉強するのはちょっと・・・などと言ってはいけません。

確かに勉強に時間はかかります。

でも数週間かけて勉強したとしても、十分に回収できる投資効率の良いスキルです。

断言できますが、私はExcelの使えない人よりも格段に生産性が高いです。

私の経験上、非エンジニアでも、隠れExcel使いの人が結構います。
実はこっそり早く仕事を終わらして、残りの時間を好きに使っているのかも知れませんね。

みなさんの周りにもきっと隠れExcel使いがいるに違いありません。

非エンジニアでも、勉強すればかなりのレベルになれますからね。

たとえば、

「ファイルサーバの、このフォルダの中にあるファイルを一覧表にして、拡張子(.xlxsなどファイル名の後ろについている記号)を取り除いておいて」

というような頼まれごと。

直感でどのくらいかかると思いますか?

そんなのファイルの数次第だろう、なんて思いませんでしたか?

このような頼まれごとは、Excelを使えば5分でできます

たとえフォルダが何階層に入れ子になっていようが、ファイル数が何百、何千、何万とあろうが、5分でできます。

では、これならどうでしょう。

「ここのフォルダのファイルが全部Sharepointにアップロードされているかどうか確認しておいて」

これも3分です

ファイル数は100件くらいだし、ひとつずつチェックすれば30分で終わるかな、なんて考えている人は要注意。

Excelを使って3分で終われる人の仕事は10倍のスピードなのです。

プログラミングをこれから学習したい非エンジニアはまずExcel VBAから学べば理解が速いから

次にVBAですね。

VBAとは、Visual Basic for Applicationsの略です。

いわゆる「マクロ」のことです。

「マクロ」というのは、ExcelやWord、PowerPointなど、マイクロソフトのOffice製品で利用できるプログラムのことです。

普段はそれほど使うことも多くないかもしれませんが、Office製品は、プログラムで自動操作することができます。

人が操作する内容のほぼすべては、プログラミングで自動的に行うことが出来ます

私がシステムエンジニアとして働き始めたExcel初心者だったときに、一番最初に覚えたプログラミングは、VBAでした。

もともと私は文系で、情報技術に疎かったんですよね。

けれど、Excel VBAを学習したことで、プログラミングの基礎が身に着きました。

なぜExcel VBAが非エンジニアのプログラミング初心者に良いかというと、Excel VBAはプログラムのイメージがとても沸きやすいからです。

巷では、Phython(パイソン)という最近流行りのプログラム言語でプログラミングを始めようという非エンジニア向けの謳い文句がかなり見受けられますね。

いきなりPhythonのプログラミングをする前に、Excel VBAを少し学ばれることをお勧めします

Phythonに挫折した人も、一度で良いのでExcel VBAを試してみてください。

Excel VBAでなぜプログラミングの理解が早まるかというと、プログラムが扱う情報(Excelのセルや、シート)が目に見えるものだからです。

つまりPhythonなど数理を扱うプログラミングに比べて、「何をやっているのか」が具体的に見えるということ。

これは非エンジニアでプログラミング初心者には非常に分かりやすいと思います。

Excelはこれからも寿命の長いアプリケーションだから

Excelを習得したとして、この先どのくらい役に立つのでしょう。

入れ替わりの速いテクノロジーの業界で、Excelの活用についてはここ10年以上ほとんど変わっていません

そして、これは持論になるのですが、当面Excelを活用し続ける未来を予測しています。

理由のひとつに、2次元で物事を考える人が圧倒的多数だから、ということがあります。

情報を整理するとき、人は2次元で考えます。

商品ごとのメリット、デメリット。

人ごとのプロフィール。

どんなシステムでもデータベースがあって、ほぼ2次元(列と行)でデータを扱ってています。

ほぼすべての情報は2次元で整理されているし、Excelはそうした人の思考をアウトプットするのに、非常に分かりやすいのです。

更に、Excelで整理された情報は、あらゆるデジタル技術や大抵のシステムとの相性が抜群です。

繰り返しになりますが、システムが持つデータベースと情報の整理の仕方が同じだからです。

これからデジタルの時代になっても、しばらくはExcelは使い続けられるでしょう。

ですので、今時点で初心者であることは、全くもって不利とは言えません。

十分、間に合うので、非エンジニアの方も、頑張って周りの人を追い抜きましょう。

非エンジニアにおすすめのExcel学習法とUdemyコース

Excelの学び方について。

Excelを使える人は、どんな会社にも一定数います。

非エンジニアの方はそうした近くにいる人から学び取るのが一番だと思います。

また、インターネット上にもたくさん情報がありますね。

非エンジニアでも必ず疑問は解決できるはずです。

慣れれば、辞書的に使える書籍なんかも参考にしてみてください。

書籍で対応できそうであれば、オンライン学習までは必要ありません。

できる大事典 Excel VBA 2016/2013/2010/2007対応 できる大事典シリーズ

ただ、それでも体系的にきちんと理解するとなると、それなりの時間とお金をかける価値は十分にあります

非エンジニアでも十分についていける、いくつかのオンライン学習サイトを紹介しておきますね。

ひとつ目は、大手の会社でも採用されている研修をオンライン化した以下のUdemyオンライン学習コース。

講師の方は書籍も出版されていますが、やはり動画のステップ・バイ・ステップの分かりやすさには代えられないでしょう。

Udemyオンライン学習コース/【初心者から上級者まで】1日で学べるエクセルの教科書 マスターコース

そして、こちらもVBAを学習するのにおすすめです。

非エンジニアの初心者に合わせたハードル設定のUdemy学習コースです。

Udemyオンライン学習コース/Excel VBA[第1弾](超入門)エクセルが自動で仕事する!マクロの魔法 文系・非IT職もできるプログラミング

プログラミングには「型」があります。

ひとつのプログラミング言語をきちんと学習しておけば、あとは細かい記述の仕方が違うだけで、「型」は共通であることがわかるでしょう。

そして、こちらが続編のUdemyコースです。

Udemyオンライン学習コース/Excel VBA[第2弾](脱・入門編)請求書を1クリックで出力するマクロを作成!文系・非IT職もできるプログラミング

一気に学んでしまいましょう。Udemyの続きのコースです。

Excel VBA[第3弾](実用マクロ入門編)受注データを5秒で入力できるユーザーフォーム作成 VBAプログラミング

いよいよラストです。
一生モノの技術(仮にExcelが寿命でなくなったとしても、考え方は必ず使い続けられます)なので、時間も惜しまず頑張りましょう。

ここまで来られれば、エキスパート、かなり応用もきくはずです。
Udemyの続きのコースです。

Excel VBA エキスパート認定への道 ~マクロ初心者から資格試験レベルへ &7つの自動化 マクロ を作る15時間

ちなみに、Excelは学んですぐに成果が実感できるはずです。
覚えたら、すぐに実践で使ってみてください。

Excel VBAマクロは自分専用のモジュールを作って効率的に再利用

ここからは、VBAを学習しはじめた中級者の方に、ちょっとしたテクニックのご紹介です。

毎回使う機能は大体決まっているので、一度書いたコードは「モジュール」にしてインポートしてから使うと便利です。

モジュールって何?という方にも分かりやすく説明します。

かなり便利なので、おすすめですよ。

この記事の中に、コピペしてそのまま、モジュールとして利用してもらえるようにコードも貼っておきますね。

早速VBAのコードです

メモ帳にコピペして、ファイルの拡張子を”.bas”に変えればOKです。

後はVBAエディタから、そのファイルをインポートすれば使えます。

ここからコピペ

Attribute VB_Name = “modCom”
Option Explicit

‘シート、列番号を渡すと、最終行番号を返します
Public Function fncGetEndRow(ByVal wsTarget As Worksheet, ByVal intTargetCol As Integer) As Long

On Error GoTo ErrorHandler

With wsTarget.Cells(Application.Rows.Count, intTargetCol)
    If .Value = vbNullString Then
        fncGetEndRow = .End(xlUp).Row
    Else
        fncGetEndRow = .Row
    End If
End With

Exit Function
ErrorHandler:
End Function

‘シート、行番号を渡すと、最終列番号を返します
Public Function fncGetEndCol(ByVal wsTarget As Worksheet, ByVal intTargetRow As Integer) As Integer

On Error GoTo ErrorHandler

With wsTarget.Cells(intTargetRow, Application.Columns.Count)
    If .Value = vbNullString Then
        fncGetEndCol = .End(xlToLeft).Column
    Else
        fncGetEndCol = .Column
    End If
End With

Exit Function
ErrorHandler:
End Function

使い方

使い方は簡単です。

作成したファイルをインポートして、自分で新たに作るソースコードから呼び出すだけ。

 モジュールのインポート

VBAの画面で右クリック→ファイルのインポート。

上のソースコードをコピーして作った”.bas”ファイルを読み込みましょう。

ファイル名=モジュール名になります。

無事に標準モジュールの下に追加されていますね。

 モジュールの呼び出し

今回、新たに作成するソースコードを書く「Module1」を追加しました。

モジュール名の後に”.”(ピリオド)を入力すると、モジュール内のファンクション一覧が表示されます。

使ってみましょう。

シートと、列を指定すると、そのシートと列における最終行を取得するファンクションです。

Sheet1の1列目(A列)には何行目まで値が入っているのかな?みたいなときに使います。

実行結果はこんな感じ。

まとめ

Excelについて、以下の内容をまとめました。

 Excelを今すぐ学習すべき理由3つ
  仕事のスピードが格段に速くなる
  プログラミング学習が効率的になる
  寿命の長いスキルが身につく

 Excelの学習方法(Udemyのコース5つ)
  【初心者から上級者まで】1日で学べるエクセルの教科書
  Excel VBA[第1弾](超入門)文系・非IT職もできるプログラミング
  Excel VBA[第2弾](脱・入門編)文系・非IT職もできるプログラミング
  Excel VBA[第3弾](実用マクロ入門編)
  Excel VBA エキスパート認定への道

 Excel VBA再利用の便利技
  モジュールを使ってVBAを再利用

VBAのモジュールは、是非色々と自分で追加して、オリジナルを作ってみてください。

辞書的な書籍を一冊買って、頻繁に使うものをモジュールにまとめておきましょう。

本に付箋を貼って何度もめくらずに済むので、便利でおすすめです。

(サンプルファイル・無料電子版付)できる大事典 Excel VBA 2019/2016/2013&Microsoft 365
国本 温子 , 緑川 吉行他

エクセルを極めて、労働時間を短縮しましょう。

そして、浮いた時間でスキルアップ。

ではまた、以上です。