Copiar y pegar una línea bajo condición
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
- Reemplazar un carácter por un salto de línea.
- Parámetro de ajuste de texto automático para celdas en Google Sheets
- Google Sheets: Formatear una fila según si la fecha ha pasado o no.
- Listas desplegables en cascada en Google Sheets.
- Salto de línea en Google Sheets Android
- Filtro horizontal (en línea) en Google Sheets
4 respuestas
-
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.
-
¡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
-
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.
-
-
-
Gracias por tomarte el tiempo de responder
Mi emoji ???? se ha convertido en signos de interrogación ;)