Spreadsheet - Radio Buttons (Apps Script)

Mahonyreal

Cadet 3rd Year
Registriert
Juli 2018
Beiträge
37
Hi liebe CB Community!

Vorab:
Ich habe absolut keine Ahnung von Scripts bzw. dem Schreiben solcher und bin durchs rumprobieren und durchforsten von "nur eine checkbox von mehreren darf aktiv sein" zu den Radio Buttons gestoßen.

Situation:
Ich arbeite mit dem Google Spreadsheet und habe in derselben Spalte mehrere Zellen welche Checkboxen enthalten.
Diese Checkoxen sollen wiederum in mehreren Gruppen unterteilt sein.
Innerhalb einer Gruppe darf dann nur eine Checkbox aktiv sein.

Folgendes Script habe ich gefunden und angewendet. Es funktioniert für die Gruppe [18,19] einwandfrei. (alle Zellen sind in Spalte B):

/**
* Vertical radio buttons
*/

const RADIO_ROWS = [18,19];
function onEdit(e) {
// Get event object data: sheet name, row number and column number
const sheet = e.range.getSheet();
const row = e.range.rowStart;
const col = e.range.columnStart;
const val = sheet.getRange(row,col).getValue()
if (val == true && RADIO_ROWS.includes(row)) {
RADIO_ROWS.filter(r => r !== row)
.forEach(r => sheet.getRange(r, col).uncheck());
}

}

Nun möchte ich jedoch noch weitere Gruppen hinzufügen [20,21], [22,23], [24,25], [26,27], [28,29], [30,31], [32,33], [34,35], [36,37,38,39], [40,41,42,43], [44,45,46,47], [48,49], [50,51,52,53], [54,55,56,57].

Ich habe mal rumgetestet und sowas wie
const RADIO_ROWS = [18,19][20,21];
const RADIO_ROWS = [18,19;20,21];
const RADIO_ROWS = [18,19],[20,21];
probiert, was sicherlich kompletter quatsch ist..
Hab auch eine Kopie von dem Script erstellt und es in der Kopie auf eine andere Gruppe angepasst, was dazu führte das keines der beiden Scripte lief.

Nun meine Frage:
Kann mir jemand weiterhelfen, wie ich mehrere Gruppen in diesem Script unterbringen kann?
Ich arbeite zwar ab und zu mit Spreadsheets und würde sagen, dass ich relativ gut klar komme, jedoch alles außerhalb von der Nutzung von Scripts.

Vielen Dank vorab!
 
hat jede checkbox einen namen und einen wert? dann würde ich es mir einfach machen und schreiben "wenn checkbox xyz aktiviert ist, dann deaktiviere checkbox a,b,c.." usw
 
Zurück
Oben