Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

219
Vistas
Copiar varias filas no vacías en una hoja nueva

Estoy tratando de guardar los comentarios diarios que recibo de un sitio web de la hoja de "comentarios" en otra hoja de Google que llamé "Base de datos de comentarios"

Columna A: la fecha Columna B: hora Columna C: la dirección de correo electrónico Columna D: los comentarios

Las filas de datos comienzan desde la fila 3.

Lo que estoy haciendo actualmente para guardar los datos en función del conocimiento básico que tengo es:

  1. copiando todos los datos en la fila 3 en la hoja de "retroalimentación"
  2. Guardarlo en la hoja de "base de datos"
  3. Volviendo a la hoja de "comentarios" y eliminando la fila 3 para que los datos de la fila 4 se conviertan en la fila 3.

Tengo otra función que cuenta el número de filas y ejecuta la función saveFeedback_Data() según el número de filas.

Sé que lo que estoy haciendo en el paso 3 no es una forma adecuada, realmente agradecería si me recomendaran una mejor manera de realizar esta función con un comentario para poder entender.

Aprecio tu ayuda,

 function saveFeedback_Data() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.setActiveSheet(spreadsheet.getSheetByName('feedback'), true); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var Date= sheet.getRange('feedback !A3').getValue(); var Time = sheet.getRange('feedback !B3').getValue(); var Email = sheet.getRange('feedback !C3').getValue(); var Feedback = sheet.getRange('feedback !D3').getValue(); var sheet_dest = ss.getSheetByName("Database"); sheet_dest.appendRow([Date,Time, Email,Feedback]); Logger.log('Issue Date : ' + Date + ' Issue time : ' + Time + ' Email Address : ' + Email + ' Feedback : ' + Feedback + '\n'); //now deleting the row spreadsheet.setActiveSheet(spreadsheet.getSheetByName('feedback'), true); spreadsheet.getRange('3:3').activate(); spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows()); spreadsheet.getRange('A10').activate();

}

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Guardar datos de comentarios

Esto se ejecutará unas diez veces más rápido

 function saveFeedback_Data() { const ss = SpreadsheetApp.getActive(); const sh = ss.getSheetByName('Feedback'); const shsr = 3; const dbsh = ss.getSheetByName('Database'); const rg = sh.getRange(shsr, 1, sh.getLastRow() - shsr + 1, 4); const vs = rg.getValues().filter(r => !r.every(e => !e));//gets all non blank rows at one time dbsh.getRange(dbsh.getLastRow() + 1, 1, vs.length, vs[0].length).setValues(vs);//moves all data at one time rg.clearContent();//clears all data at one time }

Puede ir a Google Apps Script Reference y usar el cuadro de búsqueda para encontrar cualquier función que no entienda. Si es una función de JavaScript puro, vaya aquí

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda