Macro que genera pestañas

23/07/2008 - 18:41 por Marta | Informe spam
Hola a todos,

Tengo una pestaña en la que tengo un menú desplegable en el que selecciono
un mercado (es un menú de selección, sin programación ni nada). Una vez
seleccionado, tengo una celda en la que introduzco una cantidad determinada,
la que yo quiero.
Como resultado de ambos inputs, hay debajo una tabla resultante, que toma
los datos de una pestaña del libro en la que están todos los datos.
Debajo de la tabla donde me aparecen los resultados, según el mercado y la
cantidad que escoja, tengo cuatro gráficos, que varían según mi selección, y
el rango para nutrir estos gráficos está en la tabla de resultados de esta
misma pestaña.
Hasta ahí bien.
Lo que quiero ahora es añadir un botón con una macro que al pulsar lo que
haga sea copiar esta pestaña (la tabla resultante con los cuatro gráficos) y
pegar la selección en una nueva pestaña, cuyo nombre sea el valor que he
introducido en la celda donde meto la cantidad que yo quiero. ¿Me explico?.
Mi problema es que al intentar hacer una macro normal, de paso por paso, si
selecciono la hoja y copio, solo se copia la tabla pero no los gráficos. Y si
copio los gráficos por separado, al pegarlos en otra hoja me mantiene los
vínculos con la hoja de origen, y yo lo que quiero es que se desvincule de la
hoja de origen y tenga el vínculo con la tabla que estoy llevando a la nueva
hoja.

¿Sabéis cómo hacerlo?

Muchísimas gracias!!!
Marta
 

Leer las respuestas

#1 KL
23/07/2008 - 21:34 | Informe spam
Hola Marta,

"Marta" wrote:
Lo que quiero ahora es añadir un botón con una macro que al pulsar lo que
haga sea copiar esta pestaña (la tabla resultante con los cuatro gráficos) y
pegar la selección en una nueva pestaña, cuyo nombre sea el valor que he
introducido en la celda donde meto la cantidad que yo quiero.



Algo asi tal vez? (sustituye "Sheet1" y "A1" por las referencias que manejas
tu)

Sub test()
Application.ScreenUpdating = False
Worksheets("Sheet1").Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Worksheets("Sheet1").Range("A1")
Application.ScreenUpdating = True
End Sub

Importante: Ten en cuenta que si la hoja contiene celdas con mas de 255
caracteres, se truncarian al copiar, eso si previo aviso. Si ese fuese tu
caso habria que buscar otra solucion. En todo caso, te recomiendo que hagas
una busqueda en este foro desde Google.Grupos, ya que este tema se ha hablado
en multiples ocasiones.

Saludos,
KL

Preguntas similares