ExcelのVBAプログラミング学習で、おすすめのUdemyのコースはありますか?
こんな疑問に答えていきたいと思います。
こんにちは!よんりん(Yonrin)です。
当記事を書いている私は、デジタル技術のコンサルタントです。
いきなりですが、一言。
表を作る以外にも、色んな機能が用意されています。
きちんと勉強したことがない非エンジニアの方も多いのではないかと思います。
当記事を読めば、Excelの勉強がなぜ大事なのか、どのように勉強すべきかが、分かります。
もしまだお読みでなければ、「デジタル人材(非エンジニア)になるための学習ロードマップ【保存版】」の記事も合わせてどうぞ。
非エンジニアでもExcelを活用できなければならない理由
いきなりですが、Excelの活用に自信のない人は、今すぐ学習すべきです。
理由は以下の3つ。
- Excelを使いこなせられれば仕事のスピードが格段に速くなるから
- プログラミングをこれから学習したい非エンジニアはまずExcel VBAから学べば理解が速いから
- Excelはこれからも寿命の長いアプリケーションだから
ひとつずつ、説明していきます。
Excelを使いこなせられれば仕事のスピードが格段に速くなるから
まず、ここが一番です。
確実に仕事のスピードが上がります。10倍以上変わります。
日々の仕事のスピードを上げるために、何週間も勉強するのはちょっと・・・などと言ってはいけません。
確かに勉強に時間はかかります。
でも数週間かけて勉強したとしても、十分に回収できる投資効率の良いスキルです。
断言できますが、私はExcelの使えない人よりも格段に生産性が高いです。
実はこっそり早く仕事を終わらして、残りの時間を好きに使っているのかも知れませんね。
みなさんの周りにもきっと隠れExcel使いがいるに違いありません。
非エンジニアでも、勉強すればかなりのレベルになれますからね。
たとえば、
というような頼まれごと。
直感でどのくらいかかると思いますか?
そんなのファイルの数次第だろう、なんて思いませんでしたか?
このような頼まれごとは、Excelを使えば5分でできます。
たとえフォルダが何階層に入れ子になっていようが、ファイル数が何百、何千、何万とあろうが、5分でできます。
では、これならどうでしょう。
これも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のセルや、シート)が目に見えるものだからです。
これは非エンジニアでプログラミング初心者には非常に分かりやすいと思います。
Excelはこれからも寿命の長いアプリケーションだから
Excelを習得したとして、この先どのくらい役に立つのでしょう。
入れ替わりの速いテクノロジーの業界で、Excelの活用についてはここ10年以上ほとんど変わっていません。
そして、これは持論になるのですが、当面Excelを活用し続ける未来を予測しています。
理由のひとつに、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の学習方法(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 国本 温子 , 緑川 吉行他 |
---|
エクセルを極めて、労働時間を短縮しましょう。
そして、浮いた時間でスキルアップ。
ではまた、以上です。