FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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; 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() 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) Так вот, как можно сгруппир-ть не по одному столбцу, а по нескольким. alguien me ayuda a tratar de decifrar o esto o sabe como poner los subtotales de excel |
#2
|
||||
|
||||
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:
|
#3
|
|||
|
|||
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); 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 |
#4
|
|||
|
|||
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; gracias por su atencion |
#5
|
||||
|
||||
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 |
|
|
|