Buenas Tardes: Mi pregunta es la siguiente, tengo varios libros a los que tengo que hacerles una tabla dinámica, cree una macro para esto pero en el momento que voy a ejecutar la macro en un libro diferente no la toma porque la hoja tiene un nombre diferente al del código, intente hacerlo con active sheet pero no funciona. Agradezco su colaboración Juan D. Román
Si cada libro tiene la macro, con utilizar ActiveSheet debiera andar. Si la colocaste en el libro Personal, quizás estás utilizando otra expresión como el nombre del libro... Quizás sea mejor que escribas la rutina (y aclares dónde está guardada) para que podamos ayudarte.
Primero debes guardar en una variable el nbre de la hoja que utilizarás en lugar de DETALLE, por ej: nbreHoja = "JUAN" Luego en la instrucción donde hace mención a la hoja DETALLE, reemplazar esto por la variable armando una cadena con el rango. Ej: cadena = nbreHoja & "!R1C1:R65536C1" (quizás falten algunas comillas) ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= cadena)_ .CreatePivotTable TableDestination:="", TableName _ :="Tabla dinámica1", DefaultVersion:=xlPivotTableVersion10 También tendrás que tener en cuenta que estás haciendo mención a Tabladinámica1. Verifica si siempre será la primer tabla del libro. Saludos y no olvides de finalizar