Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Generar Tablas Dinamicas con Macros
Experto: jgirj
Valoración: 5
Fecha: 09/09/2004


Generar Tablas Dinamicas con Macros
Hola Amigo...Como estas yo de nuevo con otra pregunta... Dentro de la Tremenda macro que estoy haciendo del cual tu participas ayudandome, tengo que generar una tabla dinamica, resulta que durante el dia genero varias tablas dinamicas y la macro esta editada de la siguiente manera: ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "Datos!R46C2:R856C22").CreatePivotTable TableDestination:="", TableName:= _ "Tabla dinámica1" si te fijas esta predeterminado "Tabla dinámica1", el numero de la tabla, de este modo cuando genero la macro y anteriormente ya habia trabajado con una tabla dinamica, me genera error ya que no coinciden los numeros, yo soluciono el problema siempre reseteando el computador....imagina el cacho.....tienes alguna idea de como solucionarlo. Gracias

Re: Generar Tablas Dinamicas con Macros
Una idea Dim NombreTabla as String NombreTabla=Inputbox("Entre el nombre de la tabla") Reemplaza "Tabla Dinámica 1" por nombre tabla. Si no sirve entonces podrias ensayar con For Each tabla In Hoja1.PivotTables NombreTabla= tabla.Name Next tabla Si no sirve, escribe de nuevo

Generar Tablas Dinamicas con Macros
es necesario que me pregunte por algun nombre, por ejemplo: Dim NombreTabla as String NombreTabla= "tabla 1" de este modo, siempre cuando genere la tabla dinamica buscara el nombre ya predeterminado por mi. que crees tu.?????

Re: Generar Tablas Dinamicas con Macros
Eso hace la función inputbox te pregunta a que nombre quieres asociar la tabla, entonces como reemplazas en la fórmula "tabla dinámica..." por NombreTabla, el buscara la que tu le indiques. Si no es suficiente pregunta de nuevo Saludos

Generar Tablas Dinamicas con Macros
sabes, no resulta, ya que me tira error...la verdad es que no entiendo bien como funciona el nombre que se le da a la tabla dinamica. el nombre lo predetermina el computador. y al utilizar el inputbox, yo le designo el nombre pero esta no me lo reconoce.......

Re: Generar Tablas Dinamicas con Macros
Hola. La verdad es que tampoco he trabajado nunca con tabalas dinámicas, pero debe haber una solución y es posible que entr los dos la encontremos. Hagamos lo siguiente: Crea un libro nuevo, y en el diseña una tabla dinámica con datos ficticios, no tiene que ser muy grande, envíamela a mi correo (Jgirj7@yahoo.com), para yo ver como es que el computador asigna el nombre Espero tu correo

Generar Tablas Dinamicas con Macros
te acabo de enviar el correo..... chao

Re: Generar Tablas Dinamicas con Macros
Hola, creo que encontre la solución: En libro de prueba que me enviaste cambia todo el código del módulo por este: Sub Tabla_Dinamica_prueba() ' ' Tabla_Dinamica_prueba Macro ' Macro grabada el 10/09/2004 por GuKo ' ' Sheets("Electronica y Otros").Select Sheets("Electronica y Otros").Copy After:=Sheets(1) Sheets("Electronica y Otros (2)").Activate Contar = ActiveWorkbook.Worksheets.Count NombreHoja = ActiveSheet.Name NombreTabla = "Tabla dinámica" & Contar - 1 Range("A1").Select ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'Electronica y Otros (2)'!R1C1:R2C23").CreatePivotTable TableDestination:="", _ TableName:="Tabla dinámica" & Contar - 1 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables(NombreTabla).SmallGrid = False ActiveSheet.PivotTables(NombreTabla).AddFields RowFields:=Array( _ "Nombre Tienda", "Fecha Boleta", "Boleta"), PageFields:="Desc.Rubro" ActiveSheet.PivotTables(NombreTabla).PivotFields("Cant").Orientation = _ xlDataField Application.CommandBars("PivotTable").Visible = False ActiveSheet.PivotTables(NombreTabla).PivotFields("Desc.Rubro"). _ CurrentPage = "ELECTRONICA" Cells.Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .ShrinkToFit = False .MergeCells = False End With Application.DisplayAlerts = False Cells.EntireColumn.AutoFit Range("B9").Select ActiveSheet.PivotTables(NombreTabla).PivotSelect _ "'Fecha Boleta'[Todas;Total] ELECTRONICA", xlDataAndLabel Selection.Delete Range("B12").Select ActiveSheet.Name = NombreTabla Sheets(NombreHoja).Select Worksheets(NombreHoja).Delete Worksheets(NombreTabla).Activate Application.DisplayAlerts = True Range("B16").Select End Sub Ya lo ensaye y se pueden generar n hojas. si tienes algun problema escribe, de lo contrario no olvides finalizar. Saludos

Generar Tablas Dinamicas con Macros
Dim NombreArch As String NombreArch = "NP " & InputBox("PROVEEDOR", "Guardar Como...CELTA (Ejemplo)") & " " & InputBox("FECHA", "Guardar Como...30-08-2004 (Ejemplo)") & " " & "VA" If NombreArch = "" Then tengo dos dudas, para termninar este gran proyecto.... (todo sobre las Tablas Dinamicas, funciono perfecto, tuve que adaptar a mi macro...pero todo bien) 1..-respecto al ejemplo de mas arriba, cuando "guardo como", lo unico que tengo que agregarle un VA al final del mismo nombre del archivo, por ejemplo, NP NANA 31-04-04...lo debo "guardar como" NP NANA 31-04-04 VA....la idea es que se "guarde como ", automaticamente. 2.- Cuando en la tabla dinamica, se borra la hoja adicional....me pregunta "desea borrar esta hoja", la idea que no me pregunte en esta ocasion, "SOLO BORRE SIN PREGUNTAR"... Gracias por tu ayuda....

Re: Generar Tablas Dinamicas con Macros
Trabajaré en ello. El proximo lunes te tendré respuesta Feliz fin de semana Saludos

Re: Generar Tablas Dinamicas con Macros
Hola Para guardar como Dim NomArch as String NomArch="NP NANA 31-04-04" & "VA" ActiveWorkbook.SaveAs("C:Ruta" & NomArch & ".Xls") Para que no te aprezcan mensajes de alerta: Application.DisplayAlerts=Flase ' aqui Tu codigo para borrar hoja Application.DisplayAlertes=True Si tienes problemas escribe, de lo contrario no olvides finalizar. Saludos

Re: Generar Tablas Dinamicas con Macros
Hola, Como vas?

Generar Tablas Dinamicas con Macros
Hola respecto a los mensajes de aprobacion, esta ok...Gracias pero al respecto de "guardar como" la idea es que el sistema considere el nombre actual del archivo y le agregue automaticamente un VA, al final., es decir, el archivo cada vez que se ejecuta la macro tiene distintos nombres, pero lo unico que hay que hacer es "guardar como", con el nombre del archivo actual y agregarle un VA al final...

Re: Generar Tablas Dinamicas con Macros
Hola Para guardar como Dim NomArch As String NomArch = ThisWorkbook.Path & "" & ThisWorkbook.Name & "VA" ThisWorkbook.SaveAs NomArch Si no es eso escribe de nuevo

Re: Generar Tablas Dinamicas con Macros
Corrección: Hola Para guardar como Dim NomArch As String NomArch = ThisWorkbook.Path & "" & ThisWorkbook.Name & "VA" ThisWorkbook.SaveAs NomArch Si no es eso escribe de nuevo

Pregunta finalizada. Valoración: 5.
Ojala te hayan llegado mis otras preguntas....


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/932916/generar-tablas-dinamicas-con-macros