** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Visual Basic Clásico (VB3...VB6)
  Mensajes nuevos Mensajes nuevos RSS - Tablas dinamicas
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tablas dinamicas

 Responder Responder
Autor
Mensaje
hivedc Ver desplegable
Nuevo
Nuevo


Unido: 20/Abril/2018
Localización: Chile
Estado: Sin conexión
Puntos: 6
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita hivedc Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Tablas dinamicas
    Enviado: 20/Abril/2018 a las 22:03
Muy buenas tardes, primero felicitarlos por ser parte de este foro tan completo y útil. Les cuento, soy nuevo en este y en el mundo del VB. En la universidad me enseñaron JavaScript, por lo que entiendo como funciona la programación. Ahora en el trabajo, metido siempre en excel, estoy intentando automatizar la creación de tablas dinámicas leyendo datos descargados del programa de la empresa (excel). Me conformaría con no tener que hacer las tablas dinamicas para poder sacar la información que necesito sin trabajar de más.

Viendo un video en youtube, pude entender mas o menos como crear las tablas dinamicas pero me sale un error al correr el codigo. A continuación les copio el codigo:

Sub CrearTablaDinamica()

Dim WSD1 As Worksheet
Dim WSD2 As Worksheet
Dim PTCache As PivotCache
Dim PT As PivotTable
Dim PRange As Range
Dim FinalRow As Long

Set WSD1 = Worksheets("TablaDinamica")

'Borra la tabla dinamica que se encuentra en la hoja tabladinamica
For Each PT In WSD1.PivotTables
        PT.TableRange2.Clear
    Next PT
    
'Definir el area de entrada y definir cache dinamico
Set WSD2 = Worksheets("srirmam")
FinalRow = WSD2.Cells(Rows.Count, 1).End(xlUp).Row
Set PRange = WSD2.Cells(1, 1).Resize(FinalRow, 6)

'Nos situamos en la hoja con los datos
'Define la variable PTCache como valor intermedio necesario para la creación de la tabla dinamica
Sheets("srirmam").Select
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=PRange.Address)

'se crea una tabla dinamica en blanco
'especificamos la ubicación de salida y nombre de la tabla
Set PT = PTCache.CreatePivotTable(TableDestination:=Worksheets("TablaDinamica").Range("B3"), TableName:="PivotTable1")

'se aplica formato predefinido

PT.Format xlReport6               --> De aquí para abajo me da error. (aunq borre esta linea y la de actualización automática, sale error en la linea de PT.AddFields RowFields:=Array("RUT", "TRANSACCION") 
'actualización automática
PT.ManualUpdate = True

PT.AddFields RowFields:=Array("RUT", "TRANSACCION")   


With ActiveSheet.PivotTables("TablaDinamica").PivotFields("RUT")   --> también da error si borro las o tras q dan error
    .Orientation = xlDataField
    .Function = xlCount
    .Position = 1
    .Caption = "Total rut"
    End With
    
    
End Sub

Cosas que hay que saber de mi excel: 

TablaDinamica = hoja nueva con ese nombre
srirmam = Hoja donde estan los datos
RUT = Titulo de columna de la hoja de datos(srirmam)
TRANSACCION = Titulo de columna de la hoja de datos(srirmam)

Les pido por favor si pueden guiarme ya que soy bastante nuevo en este mundo y necesito automatizar esto para no perder tiempo. Si tienen otro ejemplo de como crear una tabla dinamica cn VB se agradecería enormemente.

Saludos
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 583
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita pitxiku Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 21/Abril/2018 a las 15:08
Entiendo que todo este código lo tienes dentro de Excel. Si es así, tendrás que avisar para que un/a moderador/a mueva el hilo al foro de Excel, donde te podrán ayudar más y mejor. Visual Basic clásico es/era un lenguaje de programación independiente, y no el Visual Basic para aplicaciones (VBA) que hay dentro de los programas de Office.

Entre tanto, tal vez esta página te sirva de ayuda:

- https://msdn.microsoft.com/es-es/library/office/hh243933(v=office.14).aspx
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable