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 02-06-2005
tutuk tutuk is offline
Miembro
 
Registrado: may 2003
Posts: 42
Poder: 0
tutuk Va por buen camino
Subtotales en Excel

hola utilizo lo siguiente para crear un archivo excel
Código:
//Crea la instancia (Abre Excel)
Excel := CreateOleObject('Excel.Application');

//Añade un Libro
Excel.WorkBooks.add;

//Pone Visible La Ventana
Excel.visible:=True;
grabe una macro de excel para ver que codigo usa para poner subtotales
es esta
Código:
Sub Macro1()


'
    Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(5, 6, 7, 8, _
        9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23), Replace:=True, PageBreaks:=True, _
        SummaryBelowData:=True
End Sub
Sub Macro2()
y buscando en internet encontre esto :
Código:
Здрасте уважаемые!
Есть тема.
Выбираю данные из *.dbf и передаю их в Excel,
уже в доке необходимо после передачи сформировать ИТОГИ по нужным столбцам, для этого есть средство
SUBTOTAL,нап-р:
DataModule.Excel.Range[DataModule.Excel.Cells.Item[XXX,XXX],DataModule.Excel.Cells.Item[XXX,XXX]].Subtotal(2,1,7,0,0,1);
где 2-GroupBy;
  1-Function;
  7-TotalList(т.е. столбец по которму групп.)
  0-Replace(0-false,1-True)
  0-PageBreaks(0-false,1-True)
  1-SummaryBelowData(0-false,1-True)
Так вот, как можно сгруппир-ть не по одному столбцу, а по нескольким.
que parece estar en ruso o algo asi
alguien me ayuda a tratar de decifrar o esto o sabe como poner los subtotales de excel
Responder Con Cita
  #2  
Antiguo 02-06-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
La fórmula de Subtotales en Excel para la suma, teniendo en cuenta que hay subtotales para otras funciones, promedio...:

Subtotales(9;A1:A20)

Esto nos dará la suma de A1 hasta A20, ambos inclusive con la función subtotales, lo que luego nos permitirá sumar una area en el que se hallen varios subtotales sin duplicar las cantidades.

No tienes más que mirar la ayuda de Excel para ver que pasa cuando en vez de 9 que es el indicativo para la suma pones otro número.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 03-06-2005
tutuk tutuk is offline
Miembro
 
Registrado: may 2003
Posts: 42
Poder: 0
tutuk Va por buen camino
vamos bien

gracias marcos por tu atención.

probando probando llegue a esto
Código:
excel.range['a2:s22'].Subtotal(1,1,6,0,0,1);
donde el primer dato es el campo por el cual quiero agrupar, el 2º es la Operaciòn a realizar , el 3º la columna en la cual quiero el subtotal, el 4º si se desea reemplazar los subtotales existentes, el 5º si agregamos un saldo de pagina y el 6º si ponemos el resultado al final

hasta ahi todo bien pero yo necesito subtotales en más de una columna

de acuerdo a mi primer post (el de la macro guardada) para subtotalizar mas de una columna el 3º dato seria un array.

Probe creando un array de integer y pasarlo como el 3º dato y me da error

alguna idea de como puedo hacerlo
Responder Con Cita
  #4  
Antiguo 03-06-2005
tutuk tutuk is offline
Miembro
 
Registrado: may 2003
Posts: 42
Poder: 0
tutuk Va por buen camino
ya lo resolvi

bueno por si alguien tiene la misma necesidad lo resolvi de la siguiente manera


como me ponia nada mas que el subtotal en una sola columna

al final recorro la hoja de calculo y donde esta cada subtotal

hago copiar y pegar a la celda de al lado

Código:
           excel.range['f'+inttostr(recorrer)].copy;
           excel.range['g'+inttostr(recorrer)].select;
           Excel.ActiveSheet.Paste;
no es la solucion ideal pero resulta


gracias por su atencion
Responder Con Cita
  #5  
Antiguo 04-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Creo que la función podria aceptar un OleVariant que contenga un array... es cosa de probar.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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


La franja horaria es GMT +2. Ahora son las 07:02:43.


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