13
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Googleスプレッドシートにカウントアップボタンがなかったので作った

Posted at

Googleスプレッドシートにはスピンボタンがない。

スピンボタンって何や?

Excelの画面で説明すると、三角形のこれです。↓
スピンボタン.gif

数字をクリックで管理できて非常に便利。

スプレッドシートにはない。

この便利なボタン、実はGoogleスプレッドシートにはなく、数値は逐一入力しないといけない。
せっかくクラウドで共有してみんなで使えるんだから、それぞれがクリックして数えることができれば非常に便利だと思うんだけど。

こういうのを作ります。

動画の通りです。↓
カウントアップ.gif

gif作るのって難しいですね。下手でごめんなさい。

機能

・選択したセルの数値を1増やすボタン
・選択したセルの数値を1減らすボタン
の二つ。

流れ

・スクリプトを実行
・選択中のセルを取得
・そのセル内の数値を増やす/減らす

これだけですね。
あと注意として、対象のセルには数値しか入力できないようにしておけば、立派なカウントアップ・ダウンボタンであると言えると思います!

というわけで早速作る。

スプレッドシートを作成

とりあえず空のものを用意しましょうか。

スクリプトエディタを開く

先にスクリプトを用意してから、図形に紐づける必要があるので、作っておきましょう。
スクリーンショット 2019-12-06 10.27.11.png

スクリプトを書く

今回のスクリプトはこの2種類。アップとダウンで別々に書きました。 図形2つを区別する方法がわからなかったので。

buttonUp.gs
var sheet=SpreadsheetApp.getActiveSheet();
function onClickUp(){
  var cell = sheet.getActiveCell();
  buttonUp(cell);
}

function buttonUp(cell) {
  var value=cell.getValue();
  cell.setValue(value+1);
}
buttonDown.gs
var sheet=SpreadsheetApp.getActiveSheet();
function onClickDown(){
  var cell = sheet.getActiveCell();
  buttonDown(cell);
}

function buttonDown(cell) {
  var value=cell.getValue();
  cell.setValue(value-1);
}

説明すると、どちらも
シートを取得
→選択されているセルを取得
→数値を変更する関数呼び出し
→セルの値を取得
→セルの値を1変更してセット

という流れで動いています。多少でもコードを書いたことのある方なら見ればわかる程度のものだと思います。
わからなくてもコピペで大丈夫ですよー。

図形を描画し、配置する

ボタンとなる図形を書きます。
スクリーンショット 2019-12-06 10.44.56.png

図形にスクリプトを割り当て

先ほどの図形を右クリックして、関数名を割り当てます。
スクリーンショット 2019-12-06 10.46.58.png

アップにはonClickUp、ダウンにはonClickDownを割り当てましょう。

スクリプトを認証させる

1回目の実行では許可されていないと怒られます。許可しましょう。
この方の説明がわかりやすいかと。

おわりに。

今回のカウントアップボタンはあくまで個人作業のために製作したネタです。
業務上で使用される場合などは十分チェックした上でご利用ください!
私は一切の責任を負いません!w

13
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?