

今までExcelのVBAで行っていた動作があるのですが、スプレッドシートに変更になり動かなくなってしまいました。  
GASを使用したことがなく、どのようにしたら今までの動作が再現できるか分かりません…。

A列の決まった背景色のついたセル(今回の場合「黄色」)にだけ番号を振る、というものです。  
VBAでは、

[code]

    Dim c As Range, i As Long
    For Each c In Selection
        If c.Interior.ColorIndex = 6 Then
            c = c + i + 1
            i = i + 1
        End if
    Next c
    
[/code]

と記載し、検索したいセル範囲を手動で選んでマクロを起動していました。

GASでどのようにすればこの挙動が再現できるのか分かるかたがいましたらご教示ください。


CC BY-SA 4.0
2018-05-17T11:46:47.243
44044
2023-09-28T16:01:10.140
2018-05-17T11:59:02.843
3060
28553
question
google-apps-script
GASで色のついたセルにだけ番号を振るには？


以下のようなので挙動を再現できます。

[code]

    function myFunction() {
      var activeSheet = SpreadsheetApp.getActiveSheet();
      var range = activeSheet.getSelection().getActiveRange();
      var bgColors = range.getBackgrounds();
      var values = range.getValues();
      var num = 1;
      for (var i in bgColors) {
        for (var j in bgColors[i]) {
          if(bgColors[i][j] === "#ffff00")
            values[i][j] = num++;
        }
      }
      range.setValues(values);
    }
    
[/code]


CC BY-SA 4.0
2018-05-21T00:34:03.117
44113
2018-05-21T00:34:03.117
15171
44044
answer