タイトルのテキスト
タイトルのテキスト
タイトルのテキスト
タイトルのテキスト

Google App Script (GAS)を使ってセルを移動させてみた

GAS エクセル・スプレッドシート

t f B! P L

 Google App Script  を使って、セルを下に移動させた

〇やってみたこと

Googleのスプレッドシートで、Google App Script (以下GAS) を使って、セルを下に移動させて、そのセルの値をメッセージボックスで表示させるプログラムを作ってみました。

VBAで行うなら、

VBADim AV

ActiveCell.OFFSET(1, 0).Select

AV = ActiveCell.Value

MsgBox AV 


VBAで行うなら、

という内容をGASを使っておこないました。

本当は、表の中から、任意の数字まで移動する、検索プログラムを作りたかったのですが、

そこまでは行きつきませんでした。

GASでやってみる

以下の表でマクロを起動させると、アクティブなセルが下に移動し、メッセージボックスで123と表示されれば成功です。 

表の画像

ツールバーの “拡張機能” の中から、”Apps Script” を選んで、エディターを表示させます。 

”Apps Script” を選んで、エディターを表示

表示されるエディターに以下のコードを入力しました。

コード

function offset() {

 

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getSheets()[0];

sheet.getActiveCell().offset(1,0).activate();

cell = sheet.getActiveCell()

var a = cell.getValue()

Browser.msgBox(a);

 

}

 

コードの画像

ツールバーの “拡張機能” の中から、マクロを選んで、プログラムを実行してみます。

アクティブなセルが下に移動して、メッセージボックスが表示されました。

成功です。 

メッセージボックスが表示されました

〇コードの解説 

・タイトル

function offset() {

・現在のスプレッドシートを取得し、変数ssに代入

var ss = SpreadsheetApp.getActiveSpreadsheet();

・スプレッドシートのシート番号を取得し、変数sheet

 0を指定しているので、一番左端のシートを取得しています。

var sheet = ss.getSheets()[0];

・現在のセルから1行したのセルを選択

sheet.getActiveCell().offset(1,0).activate();

・現在のセルを、変数cellに代入

cell = sheet.getActiveCell()

・現在のセルの値を変数aに代入

var a = cell.getValue()

・メッセージボックスで変数aを表示

Browser.msgBox(a);

・コードの終わり

}

という内容です。 


GASでは、変数を置くとき、先頭に “ var ” と入力するルールがあります。

VBAとの比較

VBAのコード

VBA

Dim AV

ActiveCell.Offset(1, 0).Select

AV = ActiveCell.Value

MsgBox AV

 

GAS

GASのコード

function offset() {

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getSheets()[0];

sheet.getActiveCell().offset(1,0).activate();

cell = sheet.getActiveCell()

var a = cell.getValue()

Browser.msgBox(a);

}

 GASの方は、Pythonの時と同じく、

スプレッドシートの取得、シートの取得が必要になってくるので、どうしてもコードが長くなってしまい、むずかしく感じます。

ですが、定型文に近いので、慣れてしまえば問題ないと思います。

〇まとめ

今回は、Google App Script (GAS)を使ってセルを移動させて、メッセージボックスを表示するプログラムを作成しました。

エクセルは表計算ソフトでは一番メジャーなソフトですが、ネット上で仕事をしはじめてからは、スプレッドシートを使う機会も増えてきました。

スプレッドシートもエクセルと比べてそん色がない機能がついています。

エクセルはサブスク形式のオフィス365ではない場合、バージョンによって、使える関数が制限されたりします。

ですが、スプレッドシートは常時アップデートされるので、最新のものを使えます。

もちろん、エクセル形式でのアウトプットも可能です。

マクロ機能も実装されていて、そのための言語がGoogle App Script (GAS) です。

VBAがマイクロソフト社が作った“ヴィジュアルベーシック”がベースになっているのに対し、GASWEBでよく使われている“ジャバスクリプト”がベースとなっています。

VBAが使えて、GASも使えると、プログラミングの世界が一気に広がります。

今度は、今回作った、コードに条件分岐とループ処理をたして、検索機能を付けたいと思います。

koneka1208

koneka1208

自己紹介

自分の写真
エクセル好きの窓際会社員です。 エクセルの操作法や日々の会社で得た知見などを発信していきます。 よろしくお願いします。

ブログ アーカイブ

連絡フォーム

名前

メール *

メッセージ *

QooQ