Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

633
Views
¿Por qué no se cumplen mis condiciones IF? (checkbox.isChecked(), y checkbox == los métodos verdaderos no funcionan)

Estoy intentando aplicar bordes a las celdas de forma condicional a través del script de aplicaciones, pero mi código no registra las dos condiciones (obviamente cumplidas). Buscando una verificación de lógica y sintaxis <3

Hoja: los novatos de stackoverflow no pueden adjuntar imágenes, así que aquí hay un enlace

Código:

 function doBorders() { let ss = SpreadsheetApp.getActiveSpreadsheet(); let sss = ss.getActiveSheet(); let doBorder = sss.getRange("A5"); let checkBox = sss.getRange("B5"); let checkState = checkBox.isChecked(); let bRow1 = sss.getRange("A1:B1"); let bRow2 = sss.getRange("A2:B2"); let bRow3 = sss.getRange("A3:B3"); if (doBorder == "Do Borders:" && checkState == true) { bRow1.setBorder(false, false, true, false, false, false,'Black', SpreadsheetApp.BorderStyle.SOLID); bRow2.setBorder(false, false, true, false, false, false,'Black', SpreadsheetApp.BorderStyle.SOLID); bRow3.setBorder(false, false, true, false, false, false,'Red', SpreadsheetApp.BorderStyle.SOLID); Logger.log('Conditions met. Borders added.'); } else bRow1.setBorder(false, false, false, false, false, false); bRow2.setBorder(false, false, false, false, false, false); bRow3.setBorder(false, false, false, false, false, false); Logger.log('Conditions not met. No borders.'); }

Probé tanto checkBox == true como checkState == true. Mismo resultado.

Registro de ejecución: "Condiciones no cumplidas. Sin bordes".

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

let checkBox = sss.getRange("B5") obtiene un objeto Range, que es diferente del valor en esa celda. Para probar el valor, use Range.getValue() , así:

 const checkBox = sss.getRange('B5'); const checkBoxValue = checkBox.getValue(); if (checkBoxValue === true) { // do sfuff... } else { // do other stuff... }

Observe también las { llaves } después del else .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!