Excel - Duplicar hoja excel sin boton de macro

 
Vista:

Duplicar hoja excel sin boton de macro

Publicado por Pedro (9 intervenciones) el 14/03/2017 08:46:21
Tengo este código

1
2
3
4
5
6
7
8
9
Sub ReplicarHojaActual()
nombre = Range("B3").Value
'Captura el valor de la celda B3
Sheets("Plantilla").Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
'Duplica la hoja Plantilla y la copia despues de la hoja
ActiveSheet.Name = nombre
Sheets("Plantilla").Range("B3").ClearContents
'Limpia el contenido de la celda de donde obtiene el nombre de la hoja
End Sub

Me duplica hoja excel y le da el nombre de la celda B3
Quiero dos cosas:
1.- Es posible que me pidiera el nombre de la hoja a duplicar en vez de que lo capture de una celda y tener que escribirlo previamente

2.- Quisiera que la hoja duplicada no contenga el botón de la macro (solamente los datos)
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duplicar hoja excel sin boton de macro

Publicado por JuanC (1237 intervenciones) el 14/03/2017 11:29:53
1
2
3
4
5
6
7
8
9
10
11
12
Sub ReplicarHojaActual()
Dim nombre$, obj As Shape
nombre = VBA.InputBox("Ingrese nombre de la hoja nueva", , "")
If VBA.Trim(nombre) = "" Then Exit Sub
Application.ScreenUpdating = False
Sheets("Plantilla").Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = nombre
For Each obj In ActiveSheet.Shapes
    obj.Delete
Next
Application.ScreenUpdating = True
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duplicar hoja excel sin boton de macro

Publicado por Pedro (9 intervenciones) el 15/03/2017 11:54:05
Excelente. Gracias por la respuesta rápida y adecuada a lo que quería

Solucionado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duplicar hoja excel sin boton de macro

Publicado por Pedro (9 intervenciones) el 15/03/2017 11:58:25
Puestos a mejorar
Sería posible que la duplicación de la hoja fuese en otro libro de excel (no se si se puede crear con la macro o tiene que estar creado).
Para entender lo que quiero es que desde una hoja de un libro de excel a traves del botón de macro que hemos creado envie dicha hoja a otros libros de excel creando hojas nuevas con los días del mes.
La estructura sería
Libro del que partimos: Plantilla con el boton de la macro
Libros de excel 1 /mes: Marzo, Abril, Mayo,....
Dentro de cada libro los días 1, 2, 3,
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duplicar hoja excel sin boton de macro

Publicado por JuanC (1237 intervenciones) el 15/03/2017 14:49:40
con un pequeño cambio deberías poder adaptarlo a tu necesidad... (ver ayuda de VBA/Excel, no muerde!)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub ReplicarHojaActual()
Dim nombre$, obj As Shape
Dim wbkSrc As Workbook, wbkDst As Workbook
 
nombre = VBA.InputBox("Ingrese nombre de la hoja nueva", , "")
If VBA.Trim(nombre) = "" Then Exit Sub
Application.ScreenUpdating = False
 
Set wbkSrc = ThisWorkbook
Set wbkDst = Excel.Workbooks.Add
 
wbkSrc.Sheets("Plantilla").Copy After:=wbkDst.Sheets(wbkDst.Sheets.Count)
 
ActiveSheet.Name = nombre
For Each obj In ActiveSheet.Shapes
    obj.Delete
Next
 
Application.ScreenUpdating = True
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duplicar hoja excel sin boton de macro

Publicado por Pedro (9 intervenciones) el 17/03/2017 09:08:06
Gracias JuanC por tu atención y agradezco tu esfuerzo enormemente.
Mi dedicación profesional nada, nada tiene que ver con la informática y "juro" que he buceado por Vba hasta donde entiendo y soy capaz.

La solución que me planteas va en la linea de lo que quería pero me abre un libro cada vez que ejecuto la macro.
Mi idea era que las hojas que se crean cada vez que le doy a la macro fueran al mismo libro (Ejemplo Libro1)
Desconozco si es posible crear un libro primero (eligiendo el nombre) y que las hojas creadas (eligiendo nombre) fueran a ese libro activo.

Un saludo y reitero mi agradecimiento sincero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duplicar hoja excel sin boton de macro

Publicado por Pedro (9 intervenciones) el 18/03/2017 11:57:53
No consigo resolver el problema. El código que tengo actual es:
1
2
3
4
5
6
7
8
9
10
11
12
Sub ReplicarHojaActual()
Dim nombre$, obj As Shape
nombre = VBA.InputBox("Ingrese nombre de la hoja nueva", , "")
If VBA.Trim(nombre) = "" Then Exit Sub
Application.ScreenUpdating = False
Sheets("Plantilla").Copy after:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = nombre
For Each obj In ActiveSheet.Shapes
    obj.Delete
Next
Application.ScreenUpdating = True
End Sub

Me genera un fichero de excel diferente por cada hoja que creo y tengo que volver a agruparlas.
Lo que desearia es que cada vez que creo una nueva hoja la envie al mismo fichero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar