none
Tabla Dinamica en Excel desde vb.net RRS feed

  • Pregunta

  • Hola  a todos,

    Mmm una consulta estoy tratando de implementar una tabla dinamica en excel desde codigo vb.net 2005

    Lo estoy haciendo desde el codigo que genero excel en una macro

    pero hay diferencias y no se como poner los filtros

    ejemplo de codigo de la macro que genere

    ' ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _

    '"Hoja1!F1C1:F1048576C16", Version:=xlPivotTableVersion12).CreatePivotTable( _

    'TableDestination:="Hoja4!F3C1", TableName:="Tabla dinámica1", _

    'DefaultVersion:=xlPivotTableVersion12)

    ' Sheets("Hoja4").Select()

    ' Cells(3, 1).Select()

    ' With ActiveSheet.PivotTables("Tabla dinámica1")

    ' .ColumnGrand = False

    ' .RowGrand = False

    ' .InGridDropZones = True

    ' .RowAxisLayout(xlTabularRow)

    ' End With

    'With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("raiz6")

    ' .Orientation = xlRowField

    ' .Position = 1

    'End With

    'With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("raiz5")

    ' .Orientation = xlRowField

    ' .Position = 2

    'End With

    ejemplo de codigo de vb.net que enconter con similitud para implementarlo, tengo un problema los recuadros para los campos aparecen en una hoja y el grafico de la tabla aparece en otra, donde deberia aparecer en la misma

    Me.p_Obj.objHojaExcel.PivotTableWizard.PivotCache.CreatePivotTable(TableDestination:="Hoja1!F3C1", _

    TableName:="TablaDinamica1", _

    ReadData:="Base!F1C1:F1048576C16", DefaultVersion:=Excel.XlPivotTableVersionList.xlPivotTableVersion12)

    'Me.p_Obj.objHojaExcel.PivotTables("TablaDinamica1")

    'Me.p_Obj.objHojaExcel.Columns.PivotTable.ColumnGrand = False

    'Me.p_Obj.objHojaExcel.Columns.PivotTable.RowGrand = False

    'Me.p_Obj.objHojaExcel.Columns.PivotTable.InGridDropZones = True

    'Me.p_Obj.objHojaExcel.Columns.PivotTable.RowAxisLayout(Excel.XlLayoutRowType.xlTabularRow)

    'Me.p_Obj.objHojaExcel.PivotTableWizard.PivotFields("raiz6")

    me sale error en la primera linea documentada..

    alguien me puede dar una orientacion de como hacerlo???

     

    Gracias

    martes, 17 de abril de 2007 16:42

Todas las respuestas

  • hola,

     

    supongo que ya habras agregado la referencia a la libreria de Excel

     

    si ese es todo el codigo que utilizas:

     

    -te falta crear el nuevo objeto para la instancia de Aplicacion Excel

    -agregar a esa instancia creada el nuevo objeto para el libro(workbook)

    -automaticamente se agrega por defaul 3 hojas a ese libro

    -establecer de ese libro cual de esas 3 hojas el nuevo objeto para la hoja que utilizaras

     

    algo asi:

     

    Dim AppExcel As Excel.Application

    Dim ExlLibro As Excel.Workbook

    Dim ExlHoja As Excel.Worksheet

    Set AppExcel = New Excel.Application

     

    AppExcel.Workbooks.Add

    Set ExlLibro = AppExcel.ActiveWorkbook

    Set ExlHoja = ExlLibro.Sheets(1)

     

    ExlHoja.PivotTableWizard.PivotCache.CreatePivotTable(TableDestination:="Hoja1!F3C1", _

    TableName:="TablaDinamica1", _

    ReadData:="Base!F1C1:F1048576C16", DefaultVersion:=Excel.XlPivotTableVersionList.xlPivotTableVersion12)

    viernes, 20 de abril de 2007 22:52
  • MMM,

    La verdad si estan instanciados los 2 objetos en la propiedad p_obj.

    El error lo tengo en la linea siguiente..

     

     

     

    Gracias =)

    sábado, 21 de abril de 2007 0:45