2021/10/14に更新

【GASで便利に】選択すると色がついたり消えたり

スプレッドシート小技実験的

選択した範囲の背景色を変更するGoogle Apps Scriptです。背景色が白なら指定した色に、すでに色がついていれば白色に戻します。onSelectionChangeという選択範囲の変化をトリガーにしています。

こんな悩みを解決します


  • 複数のセルに背景色を付けないといけないが、セルの選択と背景色を指定するのが面倒

用意するもの


特にありません。今お使いのスプレッドシートに組み込めます。

このスクリプトで出来ること


  • 選択したセル範囲の背景色を変更します。
  • 背景が白色なら指定した色で塗りつぶします。白色以外なら白色に戻します。
  • このとき背景色の基準となるのは選択範囲の左上のセルになります。
  • なお、onSelectionChangeは動作が不安定という情報もあり実験的なものとしてご利用ください。

使い方


1.色を変えたい範囲を選択

スプレッドシートで色を付けたい部分を選択すると、色が付きます。
セルの選択範囲が変わるだけでスクリプトが実行されます。

色がついている部分を選択すれば、白色に戻ります。

スクリプト


/**
 * このスクリプトの説明、使い方はこちら。
 * https://myfunc.jp/items/00013/index.html
 */

function onSelectionChange(e) {
  // 選択したセルが変わるたびに実行される

  // 選択された範囲を取得
  let range = e.range;

  // 選択範囲左上のセルの背景色を取得
  const background_color = range.getCell(1, 1).getBackground();

  if (background_color == '#ffffff') {
    // 背景色が白なら、緑で塗りつぶす
    range.setBackground('#00ff00');
  } else {
    // 背景色が白以外なら、白に戻す
    range.setBackground('#ffffff');
  }
}

関連するアプリ


タグ一覧

最新のアプリ

人気のアプリ

myfunc.jp