2016-04-03 5 views
0

Ich versuche ein Google Spreadsheet-Skript zu erstellen, das die Hintergrundfarbe von Zeilen ändert, wenn eine bestimmte Zelle in jeder Zeile einer Spalte einen Wert hat über 100%. Nach der Suche und dem Versuch, so viele Skripte für meine Bedürfnisse zu konfigurieren, bin ich nicht in der besten Lage zu sagen, dass ich es gemacht habe.So legen Sie die Hintergrundfarbe in einer Zeile fest, wenn eine Zelle über einen bestimmten Wert verfügt

Was ich versuche zu tun:

  • Hier die link to my Sheet ist.
  • Wie Sie sehen können, ist dies ein Blatt mit Namen und Grad der Schüler. Dieses Blatt hat 5 Spalten und 500 Zeilen.
  • ich eine Hintergrundfarbe festlegen möchten (zum Beispiel: # 2fb726) in jeder Zeile, in der ein Student
  • hier einen Grad über oder gleich 100 hat, ist, was ich denke ...

    Dim green = #2fb726 
    Dim white = #ffffff 
    
    For E_rows = 2 to 500 
        If E(E_rows) >=100 Then 
        A(E_rows).backgroundcolor = green 
        B(E_rows).backgroundcolor = green 
        C(E_rows).backgroundcolor = green 
        D(E_rows).backgroundcolor = green 
        E(E_rows).backgroundcolor = green 
        Else 
        A(E_rows).backgroundcolor = white 
        B(E_rows).backgroundcolor = white 
        C(E_rows).backgroundcolor = white 
        D(E_rows).backgroundcolor = white 
        E(E_rows).backgroundcolor = white 
        End If 
    Next E_rows 
    

Wie könnte dies in Google Spreadsheet-Skript sein?

+0

Thank Sie @tim für Ihre Hilfe in Tags. –

Antwort

2

Sie können tatsächlich tun dies mit der bedingten Formatierung:

zu Bereich gelten: Geben Sie A2: E500

und dann für „Format Zellen, wenn ... "benutzerdefinierte Formel wählen und eingeben:

=$E$2:$E>=100 

und wählen, was überhaupt Farbe Sie wollen ... hier ist ein Beispiel-Screenshot:

enter image description here

1

Kein Experte, aber vielleicht etwas wie folgt aus:

var green = "#2fb726" 
    var white = "#ffffff" 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 

    for (var i=2; i<500; i++) { 
    var range = sheet.getRange(i, 1, 1, 5); 
    var color; 
    if (sheet.getRange(i, 5).getValue() >= 100) { 
     color = green; 
    } else { 
     color = white; 
    } 

    range.setBackground(color); 
    } 
-1

Ich schlage vor, Sie Bedingte Formatierung verwenden. In Zelle gesetzt A2 Bedingte Formatierung:

Bereich A2: E50

Benutzerdefinierte Formel ist:

= $ E $ 2: $ E $ 50> = 100

Farbe wählen

einstellen die Reichweite nach Bedarf.

0

Ich werde weiter gehen, was ich gefunden habe, während ich in der Gemeinde herumgrabe. Ich fand diese answer wo zeigt Ihnen, wie Sie die Hintergrundfarbe (Zellfarbe) der Zeile basierend auf dem Wert einer bestimmten Zelle ändern.

Und da Sie erwähnt haben, dass Sie möchten, dass dies über das Skript ausgeführt wird, vermutete ich, dass Sie hoffen, dass dies automatisch ausgeführt wird? Also schaute sich um und fand diese Seite auf , wo in dem Beispiel die onOpen() Funktion aufgerufen wird.

So modifizierte ich den Code aus der Antwort auf die ähnliche Position, nannte es in der onOpen Funktion, gespeichert das Skript, aktualisiert das Dokument, und verwaltet ein Ergebnis wie dieses zu erhalten:

enter image description here

Verwandte Themen