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

165
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
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