elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  script para rellenar en una columna los blancos teniendo en cuenta el primer dato rellenado en excel
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: script para rellenar en una columna los blancos teniendo en cuenta el primer dato rellenado en excel  (Leído 1,737 veces)
MARIAPUY

Desconectado Desconectado

Mensajes: 1


Ver Perfil
script para rellenar en una columna los blancos teniendo en cuenta el primer dato rellenado en excel
« en: 25 Septiembre 2024, 09:16 am »

function main(workbook: ExcelScript.Workbook) {
  // Selecciona la hoja activa
  let hoja = workbook.getActiveWorksheet();

  // Obtiene el rango de la columna de fechas (modificar "A" por la columna deseada)
  let columnaFecha: (string | number | boolean | undefined)[][] = hoja.getRange("A:A").getValues();

  // Declaración de la variable fechaActual como string o number
  let fechaActual: string | number | null = null;

  // Array para almacenar los nuevos valores
  let nuevosValores: (string | number | null)[][] = [];

  // Recorre todas las filas de la columna
  for (let i = 0; i < columnaFecha.length; i++) {
    const valorCelda = columnaFecha
  • ; // Accede a la primera columna de cada fila

    // Verifica que el valor no sea undefined, vacío o nulo
    if (valorCelda !== undefined && valorCelda !== "" && valorCelda !== null && typeof valorCelda !== "boolean") {
      // Solo asigna si es un string o un number
      if (typeof valorCelda === "string" || typeof valorCelda === "number") {
        fechaActual = valorCelda; // Asignar valor válido
      }
    }

    // Si la celda está vacía, asigna la última fecha encontrada
    if (valorCelda === undefined || valorCelda === "" || valorCelda === null || typeof valorCelda === "boolean") {
      // Verifica si fechaActual no es null antes de usarla
      if (fechaActual !== null && fechaActual !== undefined) {
        nuevosValores.push([fechaActual]); // Rellenar con la fecha actual
      } else {
        nuevosValores.push([null]); // Si no hay fechaActual válida, deja la celda vacía
      }
    } else {
      nuevosValores.push([valorCelda]); // Mantener el valor actual si no está vacío
    }
  }

  // Escribe los nuevos valores en la columna A
  hoja.getRange("A1:A" + columnaFecha.length).setValues(nuevosValores);
}

me da este fallo
Line 15: Cannot read properties of null (reading 'length')
y no sé como corregirlo


En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.390


Hackentifiko!


Ver Perfil
Re: script para rellenar en una columna los blancos teniendo en cuenta el primer dato rellenado en excel
« Respuesta #1 en: 25 Septiembre 2024, 10:54 am »

¿Es necesario que uses ese estilo?

No entiendo qué quieres hacer pero si es que unas celdas queden con cierto dato, crea una celda especial que contenga ese dato y a las que quieras que tengan ese dato ponles =(coordenadas de la celda), presiona F4 y copia eso a todas las celdas que quieras.


En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.507


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: script para rellenar en una columna los blancos teniendo en cuenta el primer dato rellenado en excel
« Respuesta #2 en: 25 Septiembre 2024, 14:14 pm »

Hola!

Creo que nunca he usado ExcelScript, pero veo que Range no tiene una propiedad lenght (la que usas en la condición de tu for): https://learn.microsoft.com/en-us/javascript/api/office-scripts/excelscript/excelscript.range?view=office-scripts

Por otro lado, para iterar en los elementos del range, podrias usar algo asi:

Código:
for (let valorCelda of columnaFecha) {}

Fuente: Comment 1 de https://techcommunity.microsoft.com/t5/excel/office-script-loop-using-range-cell-array/m-p/4114542

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
SOLUCIONADO Duda base de dato MYSQL cifrado de columna PASS
Bases de Datos
.:UND3R:. 0 3,089 Último mensaje 19 Abril 2011, 19:42 pm
por .:UND3R:.
validar dato duplicado en columna de datagridview
.NET (C#, VB.NET, ASP)
SAGA-gl 0 4,508 Último mensaje 16 Julio 2015, 06:23 am
por SAGA-gl
Llenar columna de Grid view con dato de TextBox
.NET (C#, VB.NET, ASP)
Guillito 0 2,180 Último mensaje 15 Septiembre 2015, 05:30 am
por Guillito
Script linux para rellenar formulario web de 200 usuarios
Scripting
hollower 1 3,303 Último mensaje 5 Junio 2016, 01:05 am
por k0n3
script rellenar formulario para solicitar cita
Scripting
kraatos311086 1 2,835 Último mensaje 26 Febrero 2021, 19:34 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines