この記事ではマイクロソフト社のエクセルに入っているVBA(VisualBasic for Application)と
Google社のGoogleスプレッドシートに入っているGAS(Google Apps Script)の使い方を比較・検証していきます。
現在、使用されている表計算ソフトではマイクロソフト社のエクセルが一番、使用ユーザーが多いです。
しかし、近年のコロナ過での在宅ワークなどで、Googleスプレッドシートを使うユーザーも非常に増えています。
エクセルとGoogleスプレッドシートは互いに互換性が高く、エクセルをGoogleスプレッドシートに読み込んで作業したり、
または、Googleスプレッドシートをエクセル形式でアウトプットすることができます。
そして、お互いに、マクロを組む「開発環境」まで整っています。
しかし、ここで大きく違う点として、マクロを組むプログラミング言語が
と違うのです。
VBAはマイクロソフト社がVB(VisualBasic)を元に、エクセルやアクセスといったオフィスソフトに特化した形で作ったものです。
GASはGoogle社によってJS(Java Script)をベースとして
Googleが提供するアプリケーションの拡張機能に特化した形として作られました。
お互いに、表計算を自動化することができるのですが、ベースとなる言語が違うため、記述の方法が多少異なります。
今回は、
でVBAとGASでどのように違うのかをサンプルを通してみていきましょう。
Contents[非表示]
VBAとGASのエディターの違い
お互い、表計算をするワークシートは同様の書式をしています。
サンプルでは右がエクセル、
VBAの場合はリボンにある「開発」タブの「Visual Basic」を、
GASの場合はツールボックスにある「拡張機能」から「Apps Script」を選ぶことでコードを記述するエディターを開くことができます。
マクロのコードを記述するエディターの書式もにていて、両方とも使いやすそうです。
VBAとGASのメッセージダイアログを表示させる場合を比較【MsgBox】
VBAには
と、
GASには
と入力しています。
まず、
VBAの方から画面上の「ユーザフォームの実行」をクリックして動かしてみましょう
VBAのコードの意味を解説すると
記述のルールとしてコードの最後はEnd Subと記入します。
GAS(Google Apps Script)に入力したコードを解説します。
VBAではマクロのコードは「Sub~End Sub」の間に記述したのに対し、
GAS(Google Apps Script)では
「function{ 」 ~「 } 」と括弧の中にコードを記述します。
スプレッドシート上にメッセージダイアログが表示されました。
VBAとGASのメッセージダイアログを表示させる場合の比較は以上です。
VBAではMsgBox、GAS(Google Apps Script)ではBrowser.msgBoxでメッセージダイアログを表示させることができました。
VBAとGASのインプットダイアログを表示させる場合を比較【InputBox】
次は、VBAとGAS(Google Apps Script)で情報の入力を行う、InputBoxを表示させる場合を比較していきます。
まず、サンプルでは
VBAでは
と
GAS(Google Apps Script)の場合では
と入力しています。
VBAのコードから実行してみましょう。
最初にVBAのコードの意味を解説すると
VBAのコードをユーザーフォームから実行すると、エクセルのワークシートにインプットダイアログが表示されました。
サンプルでは5と入力しています。
これで、OKをクリックすると、変数ipに5が格納されます。
次にGAS(Google Apps Script)を実行させてみましょう。
ツールバーにある「実行」を押して起動させます。
GAS(Google Apps Script)のコードの意味を解説すると
VBAと同様にGAS(Google
Apps Script)でもインプットボックスが表示されました。
先程と同様に5と入力しています。
VBAとGASのインプットダイアログを表示させる場合の比較は以上です。
VBAとGASのセルを選択する方法を比較【RANGE】
次は、VBAとGAS(Google Apps Script)でセルを選択する場合を比較していきます。
まず、サンプルでは
VBAでは
GAS(Google Apps Script)の場合では
と入力しています。
VBAのコードを実行してみましょう。
ユーザーフォームの実行から実行します。
VBAのコードの解説をすると
マクロを起動させるとセルA1~B15までのセルが範囲選択されました。
ツールバーにある「実行」を押して起動させます。
GASのコードを解説します。
VBAとGASのセルを選択する方法の比較は以上です。
まとめ
この記事ではマイクロソフト社のエクセルに入っているVBA(VisualBasic for Application)と
Google社のGoogleスプレッドシートに入っているGAS(Google Apps Script)の使い方を比較・検証していきました。
エクセルVBAでもGAS(Google Apps Script)でも同様の処理をするマクロを組むことができました。
これで、インプットボックスから得た情報をもとに、選択されたセル範囲から特定のセルを探させて、メッセージボックスで表示させる
といったマクロを組むことができます。
GAS(Google Apps
Script)の方が、つどつど現在のスプレッドシートやワークシートを取得するコードを書かなくてはならないため、コードが長く見えますが、エクセルのVBAの場合でも、書いた方がいいです。
エクセルのVBAのでは書かなくても動きますが、エクエルブックが多数開かれていたり、ワークシートが違うのを選択されていた場合は、
実行時に思わぬところでマクロが動いてしまうことがあるので、本来はしっかりと記述しましょう。
これからGoogleスプレッドシートの需要はどんどん伸びていくでしょう。
ネット上で同時に編集することができて、エクセルのように直感的にしようすることができ、マクロまで組める。
となれば当然だと思います。
エクセルもどんどんと進化していって便利になっています。
どちらが上、どちらが下というものではなく、
在宅ワーク中にウェブ上で多数の人数と同時に作業がしたければGoogleスプレッドシート、
会社内で使用する基幹システムにはエクセルを使用するなどと、使い分けが大事です。
エクセルではVBA(VisualBasic
for Application)が使えて、GoogleスプレッドシートではGAS(Google Apps Script)が使えます。
「マクロの自動記録の方法」についても解説しているので、併せて確認してみてください!
どんどん利用して、業務を便利にしていきましょう。
0 件のコメント:
コメントを投稿