Excelマクロを使っている人がPythonを使うときのポイント

Excelマクロをすでにお使いの方が、Pythonを使うときのポイントをまとめてみました。

※ExcelマクロとPython by Panasonic S1+ Nikon 55mmF2.8

 

Excelマクロに加えてPythonを使う理由

プログラミングには様々な言語があります。
私が使っているのは、
・Excelマクロ(VBA)
・Python
・GAS
・RPA
です。

このうち、今回は、ExcelマクロとPythonを取り上げます。
Excelマクロをすでにお使いで、Pythonに興味がある方もいらっしゃるでしょう。
Pythonを使う意味があるのかどうか、質問をいただくことも多いです。

私自身も、Excelマクロが先でした。
その上で感じるPythonの魅力は、
Excel以外の効率化がやりやすい
ということです。

Excelマクロは、Excelの効率化に特化しています。
(それ以外もできなくはありませんが)
Pythonは、Excelだけではなく、その他、ブラウザやファイルなども自動化しやすいのです。
過去にはこういった記事を書きました。
RPA(UiPath・Power Automate Desktop)・Python。e-Taxへのログイン自動化の比較。

MacのSafariのe-Taxソフト(WEB版)にPythonで自動ログインする方法

PythonでExcelデータをWindowsソフト(税務ソフト)へ自動入力。openpyxl・pyautogui・pyperclip。

Pythonでマネーフォワードの登録を自動化する方法

Pythonで自動化。別のフォルダへファイルをコピー

こういった勉強法もあります。
Python 3 エンジニア認定基礎試験。非エンジニアの勉強方法・合格の秘訣

Excelマクロを使っていて、今後Pythonを使いたいなぁと思う方向けに、ExcelマクロとPythonで、違う点、同じ点をまとめてみました。

ExcelマクロとPythonの違い

事例としては、こういったシートのデータ(交通費の合計額)を

 

1つにまとめるというものです。

 

左がExcelマクロ、右がPython。
デザイン上の違いは無視していただいて、比べてみると、似ているようで違う部分も多いです。

・Pythonは、ライブラリ(Excelならopenpyxl)というものを読み込む
・Pythonは、読み込むExcelファイルを指定する必要あり。Excelマクロは、Excel内にあり、そのExcelを操作するならファイルの指定は必要ない
・Pythonは、Excelのセルの指定の方法が違う
・Pythonは、文字や数値をつなげるのに、+を使う。Excelマクロは、&
・Pythonは、#でコメント、Excelマクロは、’
・Pythonは、変数の定義がない。Excelマクロは、Dimで定義
・Pythonは、インデント(タブ)に意味がある。Excelマクロは自由
そして、最大の違いは、
・Pythonは、ソフトのインストール、設定が必要。Excelマクロは、Excelさえあればすぐ使える
・Pythonを使えるソフトは複数ある。Excelマクロは、基本的に1つだけ。
という点です。

この部分で、Pythonの壁が高くなっていますが、一度入れてしまえば問題ありません。

Pythonは、そのコード(プログラム)がシンプルといわれており、たしかにそうです。
Excelマクロ→Python
ではなく、
Python→Excelマクロ
と学びを進めるのもいいでしょう。

一方でExcelマクロとPython、同じところもあります。

ExcelマクロとPythonで同じところ

次のようなところが同じです。
・特定の文法があり、ルールを守る必要がある
・一度書けば、仕事を自動化できる
・すらすら書くには、英字のタッチタイピングが必須(少なくともできたほうがいい)
・試行錯誤しながらちょっとずつつくる
・原則として、1文字(’や.が抜けてもダメ)でもミスがあれば動かない
・敷居はやや高い
・無料で使える

このあたりは、おおむね同じなので、安心しましょう。

無料で効率化できるのは大きなメリットです。
文法やルールがうるさいところがありますが、そもそもITとはそういうもの。
臨機応変に対応する人と役割分担することが欠かせません。

敷居が高いのは事実です。
ただ、それを乗り越える価値はあります。
自動化すれば、その仕事を一生やらなくてすむのです。
コピペの繰り返しで、時間を使わないようにしましょう。

ExcelマクロとPython。
ルールは違えど、本質は同じです。
複数のプログラミング言語を学び、使うことで、プログラミング自体への理解もすすみます。

効率化するには、既存のソフトだけでは難しい場合も多いです。
既存のソフトは、お金もかかりますし。
お金がかかり、それでいて、それほど効率化できないということもあります。
その点、無料で自由度が高いプログラミングは、やはりおすすめです。

プログラミング=理系というわけではありません。
私も理系ではありませんし。
プログラミングは、むしろ論理的に整理しながら考えるので、理系というだけではありません。

効率化に興味があるなら、ぜひ挑戦してみていただければ。
効率化自体の大きな武器にもなりますし、効率化の理解にもつながります。
やはり手を動かすのが大事なのです。
既存のソフトを使っていたら、しくみが理解できませんし、本質的に効率化はできません。

Excelマクロ→Python
の順がおすすめですが、
Python→Excelマクロ
でもかまいません。

 

 



■編集後記
昨日は、11時から個別コンサルティング。
みっちり2コマ(90分×2)、ブログ、メルマガについてでした。
新展開楽しみです!

1日1新Kindle『1日1新』Instagram『1日1新』
biils フルオージーブレックファスト 
プリキュアイベント シール

■娘(4歳9ヶ月)日記→Kindle『娘日記』
先日、ひさしぶりに白シャツ、ジャケットを着たら、「なんか、パパ、おとうさんみたい」と。
いつもは?と聞くと、「カメラマン」と。
そういう認識のようです。
まあ、生まれてからシャツ、スーツ姿をほとんど見せてませんから。
ジャケットはたまに着てるんですけどね、オンラインセミナーとかでも。