Copiar y pegar una línea bajo condición

1Zandon Mensajes publicados 4 Estado Miembro -  
1Zandon Mensajes publicados 4 Estado Miembro -

Hola,

Tengo una hoja de Google Sheets que corresponde a una lista de participantes.

Me gustaría que, con la condición de que la fila esté en amarillo, esa misma fila se copie y se pegue en una segunda pestaña.

¿Es posible?

Gracias

4 respuestas

  1. Bruno83200_6929 Mensajes publicados 725 Fecha de registro   Estado Miembro Última intervención   170
     

    Sí, es posible realizar esto utilizando Google Apps Script, que es un lenguaje de script basado en JavaScript para automatizar tareas en Google Sheets. Aquí hay un ejemplo de código que podría lograr lo que pides:

    Debes utilizar este script en JavaScript:


    function copiarLíneasAmarillas() {
      var hojaOrigen = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('HojaOrigen'); // Reemplaza 'HojaOrigen' por el nombre de tu hoja de origen
      var hojaDestino = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('HojaDestino'); // Reemplaza 'HojaDestino' por el nombre de tu hoja de destino
      var rangoOrigen = hojaOrigen.getDataRange();
      var valoresOrigen = rangoOrigen.getValues();
      var valoresDestino = [];
      
      for (var i = 0; i < valoresOrigen.length; i++) {
        var color = rangoOrigen.getCell(i + 1, 1).getBackground(); // Verifica el color de la primera celda de cada fila
        if (color == "#ffff00") { // Si el color es amarillo (código hexadecimal para el amarillo)
          valoresDestino.push(valoresOrigen[i]);
        }
      }
      
      if (valoresDestino.length > 0) {
        hojaDestino.getRange(1, 1, valoresDestino.length, valoresDestino[0].length).setValues(valoresDestino);
      }
    }

    Para utilizar este script:

    En tu Google Sheets, ve a "Extensiones" > "Apps Script".
    Pega el código en el editor de scripts.
    Guarda el script y asígnale un nombre.
    Ahora puedes ejecutar el script haciendo clic en el ícono de reproducción ▶️.
    Asegúrate de reemplazar "HojaOrigen" y "HojaDestino" por los nombres de tus hojas. Este script copiará todas las filas que tengan un color de fondo amarillo de la hoja de origen a la hoja de destino. Asegúrate también de que el amarillo que estás utilizando sea el código hexadecimal #ffff00. Si tu amarillo es ligeramente diferente, deberás ajustar el código en consecuencia.

    Ahí lo tienes. Lógicamente debería funcionar. Buena suerte.

    0
  2. 1Zandon Mensajes publicados 4 Estado Miembro
     

    ¡Gracias, es genial, funciona!!!!

    ¿Y se puede hacer de forma automática?

    Ahora me doy cuenta de que tengo que reiniciar el script cada vez que pongo una línea en amarillo?

    Gracias

    0
    1. Bruno83200_6929 Mensajes publicados 725 Fecha de registro   Estado Miembro Última intervención   170
       

      Re hola,

      Estoy feliz de haberles ayudado. Para hacer que este script sea automático, puedes usar los disparadores ("triggers") en Google Apps Script. Los disparadores te permiten ejecutar funciones de script en momentos específicos o a intervalos regulares. Aquí te explico cómo hacerlo:

      - Abre tu Google Sheets donde se encuentra el script.
      - En el menú superior, haz clic en "Editor de scripts" para abrir el editor de Google Apps Script.
      - Pega el script en el editor.
      - Luego, haz clic en el reloj en la parte superior para acceder a los "Disparadores" (o "Triggers" en inglés).
      - Haz clic en "Añadir un disparador" en la parte inferior derecha.
      - Selecciona la función a ejecutar ("copiarLignesJaunes") en el menú desplegable.
      - Elige cómo quieres disparar el script (por ejemplo, "Ejecutar" > "Time-driven" > "Day timer").
      - Configura los detalles de la frecuencia de ejecución.
      - Haz clic en "Guardar".


      Ahora tu script se ejecutará automáticamente según la configuración del disparador que hayas definido. Asegúrate de que el script tenga los permisos necesarios para acceder a las hojas de cálculo y modificar los datos.

      Lógicamente debería funcionar.

      Hasta pronto.

      0
  3. 1Zandon Mensajes publicados 4 Estado Miembro
     

    Gracias por tomarte el tiempo ????

    0
  4. 1Zandon Mensajes publicados 4 Estado Miembro
     

    Gracias por tomarte el tiempo de responder

    Mi emoji ???? se ha convertido en signos de interrogación ;)

    0