Googleスプレッドシートにはスピンボタンがない。
スピンボタンって何や?
数字をクリックで管理できて非常に便利。
スプレッドシートにはない。
この便利なボタン、実はGoogleスプレッドシートにはなく、数値は逐一入力しないといけない。
せっかくクラウドで共有してみんなで使えるんだから、それぞれがクリックして数えることができれば非常に便利だと思うんだけど。
こういうのを作ります。
gif作るのって難しいですね。下手でごめんなさい。
機能
・選択したセルの数値を1増やすボタン
・選択したセルの数値を1減らすボタン
の二つ。
流れ
・スクリプトを実行
・選択中のセルを取得
・そのセル内の数値を増やす/減らす
これだけですね。
あと注意として、対象のセルには数値しか入力できないようにしておけば、立派なカウントアップ・ダウンボタンであると言えると思います!
というわけで早速作る。
スプレッドシートを作成
とりあえず空のものを用意しましょうか。
スクリプトエディタを開く
先にスクリプトを用意してから、図形に紐づける必要があるので、作っておきましょう。
スクリプトを書く
今回のスクリプトはこの2種類。アップとダウンで別々に書きました。 図形2つを区別する方法がわからなかったので。
var sheet=SpreadsheetApp.getActiveSheet();
function onClickUp(){
var cell = sheet.getActiveCell();
buttonUp(cell);
}
function buttonUp(cell) {
var value=cell.getValue();
cell.setValue(value+1);
}
var sheet=SpreadsheetApp.getActiveSheet();
function onClickDown(){
var cell = sheet.getActiveCell();
buttonDown(cell);
}
function buttonDown(cell) {
var value=cell.getValue();
cell.setValue(value-1);
}
説明すると、どちらも
シートを取得
→選択されているセルを取得
→数値を変更する関数呼び出し
→セルの値を取得
→セルの値を1変更してセット
という流れで動いています。多少でもコードを書いたことのある方なら見ればわかる程度のものだと思います。
わからなくてもコピペで大丈夫ですよー。
図形を描画し、配置する
図形にスクリプトを割り当て
アップにはonClickUp、ダウンにはonClickDownを割り当てましょう。
スクリプトを認証させる
1回目の実行では許可されていないと怒られます。許可しましょう。
この方の説明がわかりやすいかと。
おわりに。
今回のカウントアップボタンはあくまで個人作業のために製作したネタです。
業務上で使用される場合などは十分チェックした上でご利用ください!
私は一切の責任を負いません!w