Como puedo ejecutar varias macros en un solo botón

Carina: quisiera que me ayudaras en una hoja que utilizo para trabajar en jornadas de agudeza visual.
En la hoja se hizo una macros para grabar la hoja con el numero de certificado en ella y a la vez regresar pero ya con el numero incrementado y luego borrar ciertas celdas que tienen información, pero tengo otra macro que me imprime la hoja, quisiera saber como integrar esa macro a la otra para que con un solo botón de ejecute primero imprimir y luego borrar
te envío las macros:
Sub guardando()
'aquí definí que celda tendrá el nro a guardar
nbrelibro = ActiveSheet.Range("Q2").Value
'se guarda en la misma carpeta con el nbre definido
ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & nbrelibro & ".xls"
Call BORRAR
'se incrementa el valor de la celda
ActiveSheet.Range("Q2").Value = ActiveSheet.Range("Q2").Value + 1
ActiveSheet.Range("Q2").Select
End Sub
y el macro imprimir es:
Sub imprimir_hoja()
'Imprimimos la hoja de excel con una sola copia
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub
Gracias
Jose Angel Alvarez

1 Respuesta

Respuesta
1
Lo que puedes hacer es convertirlo todo en una sola macro.
Antes del End Sub de la primera macro (Guardando), escribe el codigo de la segunda macro (Imprimir _hoja)...
quedaria algo asi.
Sub guardando()
'aquí definí que celda tendrá el nro a guardar
nbrelibro = ActiveSheet.Range("Q2").Value
'se guarda en la misma carpeta con el nbre definido
ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & nbrelibro & ".xls"
Call BORRAR
'se incrementa el valor de la celda
ActiveSheet.Range("Q2").Value = ActiveSheet.Range("Q2").Value + 1
'Imprimimos la hoja de excel con una sola copia
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub
Así se van a ejecutar todas las instrucciones de una sola vez
si no funciona, házmelo saber para ver como más le podemos hacer.
Hoja carina:
Te agradezco tu respuesta, lo único es que lo que deseo es primero que imprima la hoja y luego realice la operación de guardado.
Atentamente,
JOSE ANGEL ALVAREZ
OK, solo es cosa de voltear las instrucciones... primero poner la de imprimir y luego la de guardar
quedaría algo así,
Sub guardar_imprimir_hoja()
'Imprimimos la hoja de excel con una sola copia
ActiveWindow.SelectedSheets.PrintOut Copies:=1
'aquí definí que celda tendrá el nro a guardar
nbrelibro = ActiveSheet.Range("Q2").Value
'se guarda en la misma carpeta con el nbre definido
ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & nbrelibro & ".xls"
Call BORRAR
'se incrementa el valor de la celda
ActiveSheet.Range("Q2").Value = ActiveSheet.Range("Q2").Value + 1
ActiveSheet.Range("Q2").Select
End Sub
espero que esto te funcione, si no hazmelo saber... :)
Carina:
Te agradezco tu respuesta ya me funciono bien el programa, felicitaciones por tu conocimiento y sobre todo que lo compartes con los demás.
Gracias por resolver mi problema
Atentamente,
Jose Angel Alvarez
Ciudad de Guatemala

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas