onEdit

11 views
Skip to first unread message

NECROWARPS PACHECO

unread,
Mar 24, 2025, 2:06:05 PMMar 24
to Apps Script en Español
Tengo este problema: se requiere un conteo de celdas con texto que van desde A9:A y este se contabiliza siempre y cuando en rango de E9:E , Exista la palabra Si. 
El codigo es el siguiente: 
function onEdit(e) { Logger.log(JSON.stringify(e)); // Mueve esta línea aquí if (!e || !e.range) { return; } var ss = SpreadsheetApp.getActiveSpreadsheet(); var hojaCaja = ss.getSheetByName("CAJA"); if (hojaCaja && e.range.getSheet() === hojaCaja) { var ultimaFila = hojaCaja.getLastRow(); var contadorVentas = 0; for (var i = 9; i <= ultimaFila; i++) { var folioVenta = hojaCaja.getRange("A" + i).getValue(); var estatusFolio = hojaCaja.getRange("E" + i).getValue(); if (folioVenta !== "" && estatusFolio === "Sí") { contadorVentas++; } } Logger.log("Contador de ventas calculado: " + contadorVentas); hojaCaja.getRange("A4").setValue(contadorVentas); } }

Ingrese un logger y solo me devuelve NULL en el registro y ya intente hacer lo mismo en otra cuenta y en un archivo nuevo y me sigue dando los mismo, no doy con el problema para que inicie el conteo.

Espero me puedan ayudar.   

Rubén

unread,
Mar 31, 2025, 5:28:57 PMMar 31
to Apps Script en Español
Hola.

La expresión 

e.range.getSheet() === hojaCaja 

siempre devolverá falso porque se están comparando dos instancias de la la clase SpreadsheetApp.Sheet

Intenta cambiando esta expresión por la siguiente:

e.range.getSheet().getName() === hojaCaja.getName()
Reply all
Reply to author
Forward
0 new messages