サイトアイコン Googleスプレッドシート 完全攻略

【GAS】リストの選択行を上下させる(Gスプレッドシート)

応用一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

テキストボックスを動的に変更する方法(Gスプレッドシート)
  • テキストボックスを動的に切り替える風な事が行えます。
  • スコアカードグラフなるものの基本的な使い方がわかります。
  • 今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

    なので、サクッとマスターして

    と答えてあげてください。

    というわけで今回は、前回のシートをさらにブラッシュアップしていきます。

    動画はこちら

     

    シートはこちら


    *クリックすることでシートが開きます。(コピーしてお使いください)

    スクリプト

    /**
     * カーソルを一つ上に移動する
     */
    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でシートをコピペする方法がわかります。 文字列を置換する方法がわかります。 元となるシートから作業用のシートが作成できます。

     

    GAS基礎講座一覧

    モバイルバージョンを終了