ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
テキストボックスを動的に変更する方法(Gスプレッドシート)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- 条件付き書式でインデックスに合わせて選択行を反転させることができます。
- GASで上下ボタンに合わせて選択行を移動させることができます。
なので、サクッとマスターして
と答えてあげてください。
というわけで今回は、前回のシートをさらにブラッシュアップしていきます。
動画はこちら
シートはこちら
*クリックすることでシートが開きます。(コピーしてお使いください)
スクリプト
/**
* カーソルを一つ上に移動する
*/
function SetNumUp(){
setnumber(true)
}
/**
* カーソルを一つ下に移動する
*/
function SetNumDown(){
setnumber(false)
}
/**
* カーソルを一つ移動する
* up
* TRUE:上
* FALSE:下
*/
function setnumber(up) {
const MAXNUM = 5 //項目の数
const sh = SpreadsheetApp.getActiveSheet()
const Range = sh.getRange("G4")
let num = Range.getValue()
console.log(num)
if (up) { //上に移動
if (num <= 1) {
return
}
num -= 1 //num = num - 1
console.log(num)
}
else{ //下に移動
if(num >= MAXNUM){
return
}
num += 1 //num = num + 1
}
Range.setValue(num)
}
ポイント
行の反転
選択されている行を反転させるには、条件付き書式を使用します。
Step1.
①「G7:M11」を選択し「条件付き書式」を開きます。
②「カスタム数式」を選択クリックします。
③「=$G7=$G$4」を入力します。
GASカーソルの移動
G4セルを読み込んで入っている値をプラスマイナス1し
G4セルに値を戻します。
let num = Range.getValue()
値の読み込み
Range.setValue(num)
値の設定
ここでG4セルの読み込みと設定は共通処理なのでsetnumber
関数で引数に応じてプラスかマイナスかを判別します。
上に移動
num -= 1
下に移動
num += 1
やっぱり動作が遅いですね。
これは、GASがサーバ上で動くからなのでいかんともしがいたいです。
とはいえ、ちょっとした処理に今回のテーマは役立つのではないでしょうか。
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】シートのコピー、シート名の変更、文字列の置換 (Gスプレッドシート)
GASでシートをコピペする方法がわかります。
文字列を置換する方法がわかります。
元となるシートから作業用のシートが作成できます。