Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

305
Visualizações
Google App Script utilizado con Google Sheets onEdit () no se activa cuando se actualizan las celdas especificadas

Estoy escribiendo un script que toma 2 fechas (fecha de inicio y finalización), crea nuevas columnas para cada semana entre las dos fechas, luego completa automáticamente el inicio de cada semana en el encabezado de las nuevas columnas en una hoja llamada ' Línea de tiempo y finanzas'. La función se llama nm() .

Estoy usando la función onEdit para activar el script cuando cambia la fecha de inicio (celda W1) o la fecha de finalización (celda X1) en 'Cronología y finanzas'.

Se supone que los usuarios no deben editar las celdas W1 o X1 manualmente. Esas celdas están vinculadas a celdas en otra pestaña llamada 'Recurso(s)' en la misma hoja de cálculo mediante la función =MIN('Resource(s)' !G2:G900) y =MAX('Reousrce(s)' !H2:H900) Para aclarar, W1 y X1 en 'Cronología y finanzas' contienen la función mínima y máxima

Mi objetivo es que los usuarios editen la pestaña 'Recurso(s)' que cambiará W1 o X1 en 'Cronología y finanzas' y luego activará la función que crea las columnas.

Mi problema es encontrar una manera para que onEdit reconozca cuándo se ha cambiado una celda y luego active el script.

Encontré 2 soluciones para especificar qué celdas se deben editar para activar, pero cada una tiene problemas:

Solución 1:

La función se activa con éxito cuando W1 o X1 se actualizan debido a un cambio en la hoja de 'Recurso(s) pero involuntariamente ejecuta el script cuando se cambia cualquier celda en 'Cronología y finanzas'.

¿Cómo puedo limitar el activador solo a W1 o X1 usando esta solución? ¿Estoy malinterpretando el uso de .getA1Notation() ?

Solución 2

La función solo se activará con éxito si el usuario ingresa y escribe manualmente las fechas en W1 o X1, no cuando 'Recurso(s)' actualice W1 o X1.

Supongo que esta solución solo verifica la función en la celda ( =MIN('Resource(s)' !G2:G900) y =MAX('Reousrce(s)' !H2:H900) ) en lugar del valor en el celda (las fechas reales)

¿Hay alguna manera de que el script busque una edición en el valor de una celda en lugar de un cambio de una función?

El código está abajo:

 function onEdit(e){ var template = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Timeline & Financials"); var startDate = "V3"; var endDate = "V4"; // Solution 1 // if (e.range.getA1Notation() == startDate || e.range.getA1Notation() == endDate ){ // console.log("in if"); // return; // } else { // deleteColumns(); // nm(); // } // Solution 2 // if (e.range.rowStart != 1 || !(e.range.columnStart >= 23 && e.range.columnStart < 25) ){ // console.log("in if"); // return; // } else { // // deleteColumns(); // // nm(); // } } ```
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda