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

167
Vistas
Los scripts de Office eliminan filas enteras en función de varios datos en ciertas celdas

No soy programador y soy bastante nuevo en Office Scripts y me encantaría recibir ayuda.

Actualmente estoy tratando de eliminar filas enteras si la celda en la columna "Cambiar indicador", que resulta ser la segunda columna en la hoja de Excel, contiene la palabra "Eliminar" o "Eliminado".

Logré eliminar filas si contienen la palabra "Eliminar" con el siguiente script, pero no pude hacer que las celdas del script también tuvieran "Eliminado". Intenté colocar corchetes allí, pero desafortunadamente no funcionó.

¿Alguien puede sugerir una mejor práctica para manejar la eliminación de filas en función de múltiples coincidencias de texto (eliminar si x = y O z)?

 function main(workbook: ExcelScript.Workbook) { // Get the used range on the current sheet. const currentSheet = workbook.getActiveWorksheet(); let table = workbook.getTables()[0]; // Get the RangeAreas object for each cell with a formula. const usedRange = currentSheet.getUsedRange(); //get the values of the range let values = usedRange.getValues(); //get the row count of the range let rowCount = usedRange.getRowCount(); //starting at the last row, check if the cell in column '1' equals to 'Delete'. If it is, then delete the entire row. for (let i = rowCount - 1; i >= 0; i--) { if (values[i][1] == "Delete") { usedRange.getCell(i, 1).getEntireRow().delete(ExcelScript.DeleteShiftDirection.up) } } }
about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

Su declaración if debería verse como la siguiente:

 if (values[i][1] == "Delete" || values[i][1] == "Deleted")

Si está buscando tutoriales más generales, aquí hay una página que encontré que explica un poco más las declaraciones if: https://www.w3schools.com/jsref/jsref_if.asp

about 4 years ago · Santiago Gelvez Denunciar

0

Puede usar el método includes() del objeto de cadena para hacer esto. Para usar ese método, tendría que convertir el valor en una cadena usando el método toString() así:

 if (values[i][1].toString().includes("Delete"))

Al usar include, se marcará tanto para Eliminar como para Eliminar.

Las palabras Delete y Deleted se pueden escribir de diferentes formas (p. ej., delete y delete, DELETE y DELETED, etc.). Esas ortografías diferentes no serán marcadas por includes() . Si desea que esas diferentes ortografías se evalúen de la misma manera, puede usar un método como toLowercase() para hacerlo. Después de llamar a ese método, solo proporcionaría el método includes() con una versión en minúsculas de la ortografía de la siguiente manera:

 if (values[i][1].toString().toLowerCase().includes("delete"))

Este enfoque también marcará cualquier otro texto que incluya eliminar. Entonces, si tiene texto en una celda como "esta fila no debe eliminarse", este código también marcará ese texto.

about 4 years ago · Santiago Gelvez 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