Generar una hoja con plantillay que se vincule

Quiero hacer un libro de excel donde en la hoja 1, capture el nombre el nombre de mis alumnos y que cuando le de click a el nombre este me genere una hoja con la plantilla que ya he diseñado con la finalidad de llevar el seguimiento de los chico. O diseñar un botón donde diga agregar alumno, y me agregue el alumno a la lista que tengo y automáticamente me genere la hoja de la plantilla y que posteriormente quede vinculada con el nombre y viceversa.
Respuesta
1
Pues bien, lo más aconsejable es ir por partes, porque así de todo no nos entenderíamos, pero si ya tiene nociones de macros lo que podrías hacer es grabar una macro haciendo todo lo que necesitas de forma manual y luego o tu o yo modificamos la macro para que haga según lo necesitas. Estos cambios que te mención o son mínimos.
Ok, es buena idea, voy a realizar lo que me sugiere y en cuanto lo tenga me pondré en contacto con usted, por el momento le agradezco su apoyo.
Ok
Listo haber si me explico:
En la celda A2 tengo el numero de alumno y en la celda B2 su nombre, yo quiero que al colocarme en la celda B2 me genere automáticamente la hoja de la plantilla que ya diseñe en este ejemplo utilice la plantilla informe de gasto la cual pienso remplazar por mi plantilla. Y que en su caso si ya se genero la hoja de la plantilla me mande un mensaje indicando que ya se ha generado.
Esta macro da un ejemplo de lo que quiero hacer pero no se como hacerlo para que lo haga de forma automática para cada niño.
Sub Botón1_Haga_clic_en()
' Botón1_Haga_clic_en Macro
Range("B2").Select
Workbooks.Add Template:= _
"C:\Archivos de programa\Microsoft Office\Templates\3082\InformeDeGastos.xltx"
Windows("prueba1.xlsm").Activate
Windows("InformeDeGastos1").Activate
Sheets("Informe de gastos").Select
Sheets("Informe de gastos").Move Before:=Workbooks("prueba1.xlsm").Sheets(1)
Sheets("Hoja1").Select
Range("A2").Select
ActiveCell.FormulaR1C1 = "sega-001"
Sheets("Informe de gastos").Select
Sheets("Informe de gastos").Name = "001"
Range("C4:D4").Select
ActiveCell.FormulaR1C1 = "regresar"
Range("C4:D4").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Hoja1!A1", TextToDisplay:="regresar"
Range("C4:D4").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
ActiveWindow.SmallScroll Down:=-15
Range("B2").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'001'!A1", TextToDisplay:="pedro"
End Sub
No tengo tu plantilla, por lo que no puedo probar si funciona o no el proceso, pero en todo caso te paso los códigos modificados para que tu macro funcione, adicional a pegar esta amcro en algún modulo lo que puedes hacer es buscarla en tus macros y en la parte de propiedades asiganarle un acceso directo, y luego lo que tienes que hacer es posesionarte sobre la celda de la que quieres que se haga referencia la macro, presionar el acceso directo y la macro se correría.
Sub crea()
Sheets("Hoja1").Select
a = ActiveCell.Row
b = Mid(Range("A" & a).Value, 6, 3)
c = Range("B" & a).Value
On Error GoTo kike
Sheets(b).Select
Sheets("Hoja1").Select
MsgBox "La hoja ya existe dentro de la base de infromación"
kike:
Workbooks.Add Template:= _
"C:\Archivos de programa\Microsoft Office\Templates\3082\InformeDeGastos.xltx"
Windows("Eliminar.xlsm").Activate
Sheets("Informe de gastos").Select
Sheets("Informe de gastos").Select
Sheets("Informe de gastos").Name = b
Range("C4:D4").Select
ActiveCell.FormulaR1C1 = "regresar"
Range("C4:D4").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Hoja1!A1", TextToDisplay:="regresar"
Range("C4:D4").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("B" & a).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & b & "'!A1", TextToDisplay:=c
End Sub
Es casi perfecto, solo tengo tres preguntas!
¿1ra en la parte Windows("Eliminar.xlsm").Activate que se supone que sucede? ¿Debo tener otro archivo con ese nombre o la macro lo crea?.
2da. si se genera de manera correcta la nueva hoja, pero esta no se mueve a mi libro prueba1, si no que me habré más libros.
Y la 3ra el hipervicunlo del nombre se debe generar sobre mi libro prueba1.
De antemano no quiero ser grosero, y verdaderamente le agradezco por su colaboración, es algo sorprendente lo que ustedes logran hacer!,
Estoy muy agradecido!.
1) Perdona es el libro con el que pruebo las macros que paso, tu pon el nombre de tu archivo
Prueba con ese cambio debería funcionar para lo demás que me preguntas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas