Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2012
Avatar de mzoquete
mzoquete mzoquete is offline
Registrado
 
Registrado: jul 2008
Posts: 8
Poder: 0
mzoquete Va por buen camino
Lightbulb Formulas de matrices en Excel

Hola, sucede que estoy usando un archivo de excel desde delphi para aprovechar las formulas matematicas que este provee, pero tengo una dificultad, no he podido encontrar como ejecutar una formula cuyo resultado corresponde a una matriz (que ocupa varias celdas), es decir que se deben seleccionar varias celdas y ejecutar la formula con la combinacion de teclas CTRL+MAYUS+ENTER (en Excel).
Para ser un poco mas claro, pongo el siguiente ejemplo:
Código Delphi [-]
  Hoja.range['A1'] := '1';
  Hoja.range['A2'] := '5';
  Hoja.range['A3'] := '4';
  Hoja.range['B1'] := '2';
  Hoja.range['B2'] := '4';
  Hoja.range['B3'] := '5';
  Hoja.range['C1'] := '3';
  Hoja.range['C2'] := '5';
  Hoja.range['C3'] := '8';
  Hoja.range['A5:C7'] := '=TRANSPONER(A1:C3)';
Pero en el rango A5:C7 sale en todas las celdas #¿NOMBRE?

No frecuento mucho este foro, pero me ha sido bastante util en ocasiones anteriores, y agradezco de antemano la atencion y colaboracion a este post
Responder Con Cita
  #2  
Antiguo 31-01-2012
Avatar de mzoquete
mzoquete mzoquete is offline
Registrado
 
Registrado: jul 2008
Posts: 8
Poder: 0
mzoquete Va por buen camino
Probando probando, he encontrado como hacerlo. Se debe definir de la siguiente manera:

Código Delphi [-]
Excel.range['A5:C7'].FormulaArray := '=TRANSPONER(A1:C3)';

Dejo la solucion a quien le pueda interesar

Responder Con Cita
  #3  
Antiguo 31-01-2012
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
formula array

ke bien que compartes tu solucion de hecho me va a servir para unos reportes que estoy mandando a excel, Saludos...
Responder Con Cita
  #4  
Antiguo 09-02-2012
Avatar de mzoquete
mzoquete mzoquete is offline
Registrado
 
Registrado: jul 2008
Posts: 8
Poder: 0
mzoquete Va por buen camino
Inicialmente me funciono, pero luego de utilizarla varias veces me genera este error:

"No se puede asignar la propiedad FormulaArray de la clase Range"

Que podra ser? de pronto alguien utilizo esto y le paso?
Responder Con Cita
  #5  
Antiguo 29-02-2012
Avatar de juanlaplata
juanlaplata juanlaplata is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Plata, Bs. As. (Argentina)
Posts: 212
Poder: 18
juanlaplata Va por buen camino
Hola q tal. comento sobre este error que da el excel. Buscando, di con la solucion, en mi caso, solo queria hacer una suma.
Tal como mzoquete, lo escribia asi de simple como se ve.
Código Delphi [-]
Libro.Cells[fila,columna].Formula := '=SUMA(B'+intToStr(inicio_suma)+':B'+intToStr(fin_suma)+')';

y me daba el mismo error. #¿NOMBRE?
Probe con la solucion "parcial" q el encontro
Código Delphi [-]
Libro.Cells[fila,columna].FormulaArray := '=SUMA(B'+intToStr(inicio_suma)+':B'+intToStr(fin_suma)+')';

y si bien me devolvia la suma, no con el formato de las celdas q sumaba ($ 0.00).
y segun Microsoft:

Cita:
#¿NOMBRE?
Microsoft Excel no reconoce el texto utilizado en la fórmula.
Error ortográfico al escribir el nombre. Uso de un rótulo en una fórmula. Se ha cometido un error al escribir el nombre de una función. Se ha introducido texto en una fórmula sin poner el texto entre comillas o Se han omitido los dos puntos ( : ) en una referencia de rango.
Entonces se debe a una de estas posibilidades, la cual opte por el nombre de la funcion, la cual modifique...
Código Delphi [-]
Libro.Cells[fila,columna].Formula := '=SUM(B'+intToStr(inicio_suma)+':B'+intToStr(fin_suma)+')';


PD: mzoquete busca el nombre de tu funcion en "ingles" o lenguaje nativo por el cual fue programada, creo que seria TRANSPOSE(A1:C3)

Última edición por juanlaplata fecha: 29-02-2012 a las 15:21:05.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
impresion de formulas en excel vipernet Servers 2 07-06-2006 02:16:21
Importar matrices de excel tifosis Varios 0 08-02-2006 19:20:07
Refrescar resultados de formulas en excel jlcasih Servers 1 20-10-2005 17:24:53
exportar a excel, error en formulas jgutti Servers 3 29-03-2005 17:29:46
Formulas htamay Varios 3 24-06-2004 19:07:29


La franja horaria es GMT +2. Ahora son las 12:25:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi