2017-12-28 2 views
1

私は、特定のフレーズを入力するときにGoogleシートのセルの背景色を変更する人のためのクイックコードを実行しようとしています。コードはエラーなく正常に実行されますが、スプレッドシートには何も表示されません。どんな助けも素晴らしいだろう。私はこれが動作するために再書かれているgetActiveCell()は私のためにgoogleスクリプトでは役に立たない

function ChangeCellHighlight() { 

    //returning value of active cell 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet =ss.getSheets()[0]; 
    var cell = sheet.getActiveCell(); 


    //typing "Hay" will trigger cell background color 
    if (cell == 'Hay') { color 
    cell.setBackgroundRGB(255, 0, 0); //red cell background   
    } 
} 
+1

@ coder-croc完了。 – carlosaicrag

答えて

0

これは私が持っているコードです。 getSheets()[0]を使用するのではなく、これをgetActiveSheet()に変更しました。これは、現在使用中のシートがアクティブであることを意味します。特定の場合は、これをgetSheetByName( "SHEETNAME")に変更することができます。最も重要なのは、IFステートメントで 'Cell'を呼び出す場所ですが、値がないので、cell.getValue()が追加されています。また、appScriptにストアド関数であるonEdit()関数を追加しました。セルを編集すると、セル内で宣言された関数が呼び出されます。

function ChangeCellHighlight() { 

     //Get Current Google Sheet, Get Active Sheet Tab. 
     var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
     //Get Active Cell. 
     var cell = ss.getActiveCell(); 
     //If clause - does cell == "Hay" 
     if(cell.getValue() == "Hay") { 
     //If YES change background to red. 
     cell.setBackground("red"); 
     } else { 
     //Anything else do nothing. 
     //Do nothing or you could have Logger.log("Cell not equal to Hay"); 
     } 
    } 
    //This will run every time an edit is made. 
    function onEdit(){ 
    ChangeCellHighlight(); 
    } 
関連する問題