LoginSignup
1
2

More than 5 years have passed since last update.

GASで商品管理表を自動で色分け

Posted at

共有している商品管理表の各商品が、現在どの状態にあるかを自動で色付けして確認できるようにする。

・管理表サンプル
スクリーンショット 2015-05-19 14.13.19.jpg

・メニューバーに「ツール」を追加。その中にある「色付け」を押す。
スクリーンショット 2015-05-19 14.13.31.jpg

・自動で色付け!
スクリーンショット 2015-05-19 14.13.52.jpg

・以下コード

コード.gs
var validColNum = 5;

var checkPaymentCol = 3;
var soldDateCol = 4;
var checkSoldCol = 5;

var lightPink = "#FFB6C1";
var lightYellow = "#FAFAD2";
var lightBlue = "#87CEFA";
var grey = "#797979";

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();

//メニューバーに追加
function onOpen() {
  var menus = [
    {name: "色付け", functionName: "putColor"},
  ];
  ss.addMenu("ツール", menus);
}

//色付け
function putColor(){

  for(var i = 2; i <= sheet.getLastRow(); i++) {

    if(!sheet.getRange(i, 1).isBlank()) { //商品入力あり

      if(sheet.getRange(i, checkPaymentCol).isBlank()) { //支払まだ:ピンク
        for(var x = 1; x <= validColNum; x++) {
          sheet.getRange(i, x).setBackground(lightPink);  
        }
      } 

      if(!sheet.getRange(i, checkPaymentCol).isBlank()) { //支払済:ブルー
        for(var x = 1; x <= validColNum; x++) {
          sheet.getRange(i, x).setBackground(lightBlue);
        }
      }

      if(!sheet.getRange(i, soldDateCol).isBlank()) { //売上あり:イエロー
        for(var x = 1; x <= validColNum; x++) {
          sheet.getRange(i, x).setBackground(lightYellow);
        }
      }

      if(!sheet.getRange(i, checkSoldCol).isBlank()){ //入金あり:グレー
          for(var x = 1; x <= validColNum; x++) {
            sheet.getRange(i, x).setBackground(grey);
        }
      }

    }
  }
}





1
2
0

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
1
2