Usuario
Contraer filas Range().Group Excel VB.NET

Pregunta
-
Buenas
Estoy usando la función
HojaExcel.Range("A1","T15").Group(true, , , )
Funciona bien pero quisiera saber si hay alguna forma de que esa agrupación se vea contraída desde que se genera, lo explico mejor con las imágenes
Como lo genera:
http://subirimagen.me/uploads/20171121101442.JPG
Como lo necesito:
http://subirimagen.me/uploads/20171121101554.JPG
Se agradece cualquier ayuda
- Cambiado Enrique M. Montejo viernes, 24 de noviembre de 2017 15:25 Programación con Microsoft Excel.
Todas las respuestas
-
Hola Geovanny Fallas
Con base a tu consulta, ¿podrías ser un poco más específico y colocar el código para que se te pueda brindar el apoyo que requieres?
Quedamos al pendiente de cualquier actualización de tu parte.
Pablo Rubio
_____
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.
Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. -
muchas gracias por responder
Adjunto el código pero mi duda es la que adjunte en las imágenes, estoy usando VB.Net 2010 y estoy generando un Excel, cuando uso el metodo o_Hoja.Range(“A15”,”T10”).Group(True, , , ) los rangos son de ejemplo. Cuando me genera el Excel el código agrupa bien las filas pero yo quiero adicional que las filas se vean contraídas en lugar de que se vean expandidas
El Hoja.Range(RangoDefinido).Group(True, , , ) me genera el Excel agrupado pero expandido de esta manera
http://subirimagen.me/uploads/20171121101442.JPG
Yo quiero que aparte de agrupar las filas se vean contraídas:
http://subirimagen.me/uploads/20171121101554.JPG
Private Sub ExcelVentasNuevo()
Try
Dim StrRuraNombreArchivo As String = vbNullString, o_Excel As Object, o_Libro As Object, o_Hoja As Object
StrRuraNombreArchivo = "\\172.16.119.19\Compartida\Geovanny\Excel Ventas Nuevo"
o_Excel = CreateObject("Excel.Application")
o_Libro = o_Excel.Workbooks.Add
o_Hoja = o_Libro.Worksheets.Add
o_Hoja.Name = "Comparativo Anual"
o_Hoja.Columns("A:T").AutoFit()
o_Hoja.Rows(1).Font.Bold = True
o_Hoja.Cells(1, 2).Value = "Ventas"
o_Hoja.Cells(1, 9).Value = "Clientes"
o_Hoja.Cells(1, 13).Value = "Items"
o_Hoja.Cells(1, 17).Value = "Tiquete Promedio"
o_Hoja.Cells(2, 2).Value = "Real Acum"
o_Hoja.Cells(2, 3).Value = "Logro %"
o_Hoja.Cells(2, 4).Value = "Presupuesto"
o_Hoja.Cells(2, 5).Value = "Var"
o_Hoja.Cells(2, 6).Value = "Año Anterior"
o_Hoja.Cells(2, 7).Value = "Crec %"
o_Hoja.Cells(2, 8).Value = "Crec Col"
o_Hoja.Cells(2, 9).Value = "Real Acum"
o_Hoja.Cells(2, 10).Value = "Año Anterior"
o_Hoja.Cells(2, 11).Value = "Crec %"
o_Hoja.Cells(2, 12).Value = "Var"
o_Hoja.Cells(2, 13).Value = "Real Acum"
o_Hoja.Cells(2, 14).Value = "Año Anterior"
o_Hoja.Cells(2, 15).Value = "Crec %"
o_Hoja.Cells(2, 16).Value = "Var"
o_Hoja.Cells(2, 17).Value = "Promedio"
o_Hoja.Cells(2, 18).Value = "Año Anterior"
o_Hoja.Cells(2, 19).Value = "Crec %"
o_Hoja.Cells(2, 20).Value = "Var"
CargaDatosExcelVentas()
Dim Linea As Integer = 3
Dim PasoAnt As Integer = 1
Dim InicioAgrupacion As String = "A11"
Dim FinAgrupacion As String = "0"
For Intx As Integer = 0 To DataTableExcelVentas.Rows.Count() - 1
If DataTableExcelVentas.Rows(Intx).Item("Paso") <> PasoAnt Then
Linea += 1
End If
o_Hoja.Cells(Linea, 1).Value = DataTableExcelVentas.Rows(Intx).Item("Descrip")
FinAgrupacion = "0"
If DataTableExcelVentas.Rows(Intx).Item("Descrip").ToString.Contains("Total") = True Then
If DataTableExcelVentas.Rows(Intx).Item("Tipo") = 999 Then
FinAgrupacion = "T" + (Linea - 1).ToString
o_Hoja.Range(InicioAgrupacion, FinAgrupacion).Group(True, , , )
InicioAgrupacion = "A" + (Linea + 1).ToString
End If
End If
If DataTableExcelVentas.Rows(Intx).Item("Tipo") = 888 Then
InicioAgrupacion = "A" + (Linea + 1).ToString
End If
If DataTableExcelVentas.Rows(Intx).Item("Paso") = 2 Then
o_Hoja.Cells(4, 8).Value = DataTableExcelVentas.Rows(Intx).Item("RealAcu")
o_Hoja.Cells(5, 8).Value = DataTableExcelVentas.Rows(Intx).Item("Logro")
o_Hoja.Cells(6, 8).Value = DataTableExcelVentas.Rows(Intx).Item("Presu")
o_Hoja.Cells(7, 2).Value = DataTableExcelVentas.Rows(Intx).Item("varVentas")
o_Hoja.Cells(8, 2).Value = DataTableExcelVentas.Rows(Intx).Item("VentaAnoAnterior")
Else
If DataTableExcelVentas.Rows(Intx).Item("Orden") <> 0 Then
o_Hoja.Cells(Linea, 2).Value = DataTableExcelVentas.Rows(Intx).Item("RealAcu")
o_Hoja.Cells(Linea, 3).Value = DataTableExcelVentas.Rows(Intx).Item("Logro")
o_Hoja.Cells(Linea, 4).Value = DataTableExcelVentas.Rows(Intx).Item("Presu")
o_Hoja.Cells(Linea, 5).Value = DataTableExcelVentas.Rows(Intx).Item("varVentas")
o_Hoja.Cells(Linea, 6).Value = DataTableExcelVentas.Rows(Intx).Item("VentaAnoAnterior")
o_Hoja.Cells(Linea, 7).Value = DataTableExcelVentas.Rows(Intx).Item("CrecPorcV")
o_Hoja.Cells(Linea, 8).Value = DataTableExcelVentas.Rows(Intx).Item("CrecColV")
End If
End If
If DataTableExcelVentas.Rows(Intx).Item("Paso") = 2 Then
Linea = 10
Else
Linea += 1
End If
PasoAnt = DataTableExcelVentas.Rows(Intx).Item("Paso")
Next
o_Hoja.Cells(3, 1).Value = "Total GESSA"
o_Libro.Close(True, StrRuraNombreArchivo)
o_Excel.Quit()
o_Excel = Nothing
o_Libro = Nothing
o_Hoja = Nothing
Catch ex As Exception
MsgBox("Ocurrió el Siguiente Error: " & ex.Message, MsgBoxStyle.Critical, "ExportarExcelMachote")
End Try
End Sub
-