同じ作業を繰り返しやってくれるExcelのマクロとVBA、便利ですよね。
Google版Excelとも言えるスプレッドシートにも同じくマクロとVBAにあたるGAS(Google Application Script)があります。
機能自体は似通ったマクロとVBA / GASですが、大きな違いがあります。
結論からいえば、作業者が行った手順を記録して繰り返すのがマクロ。
それぞれプログラム言語を記述して動かすのがExcelのVBAであり、GoogleスプレッドシートのGASです。
マクロは手順を記録して繰り返す
マクロは作業者が行った手順を記録して繰り返す機能です。
何度も繰り返す必要がある作業・手順を録画するイメージで記録し、繰り返させることができます。Photoshopのアクション機能のようなイメージ。
作業者自身が記録したい手順を作業できればいいので、難しい知識は必要ありません。ただし、アプリ・マクロの仕様に高度な作業内容は記録することができない場合があります。
VBA・GASはプログラム言語で記述する
一方、プログラム言語でコードを書いて動作を設定するのがVBAやGASです。
VBAもGASもコードを書けるだけの知識、技術が必要でハードルは高い反面、マクロよりもより複雑な動作も設定できるうえ、無駄の設計にすることで処理が早くなるメリットがあります。
ExcelではVBA、GoogleスプレッドシートではGASと呼ばれる言語を使用します。
VBAはVisual Basic for Applicationsの略で、マイクロソフト社が開発したプログラム言語Visual Basicで動くもの。テキストエディタのMIFESもVBベースだったような。
GASはGoogle Apps Scriptの略でJavaScriptがベースになっています。WEB業界でよく使われる言語ですね。
個人的にはGASの方が好きです。JavaScriptの方が書きやすいし、VBAはExcelのバージョン変わると動かなくなること多いし……
なお、マクロも裏側でプログラム言語で記録されることで動作しています。
自身でVBAやJavaScriptが書ける人でも、メソッドを調べるのが面倒なときは一回マクロで記録してコードを覗く、なんてこともよく行われます。
っていうか私はたまにやってる。
まとめ:マクロとVBA・GASの違い – Excel・Googleスプレッドシート
- マクロは作業を録画して再生させるイメージで繰り返す
- ExcelのVBAやGoogleスプレッドシートのGASはプログラムを書いて作業を自動化する
コメントを書く