Botón para imprimir

Respuesta de
a
ver mapa
Usuario
En el libro tengo una primera hoja de datos y luego en las siguientes hojas (5) está lo que sería el proyecto que quiero imprimir.
Necesitaría crear un botón en la hoja de datos que me permitiera imprimir las hojas que seleccionara.
He leído en algunos lugares lo de crear una macro pero no tengo ni idea de como realizarlo.
Agradecería vuestra ayuda. Tengo EXCEL 2010
 
Gracias
Avatar
Experto
Hola, create un botón de comando y agregale lo siguiente:
Private Sub CommandButton1_Click()
'mostrar un inputbox para ingresar datos
Dim pagina As String
pagina = InputBox("Ingrese número de pagina a imprimir", "IMPRIMIR")
'si el dato es igual a "..." entonces ...
If pagina = "1" Then
Sheets("hoja2").Select  'se situa en la hoja2
ActiveWindow.SelectedSheets.PrintOut Copies:=1  
else
If pagina = "2" Then
Sheets("hoja3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1 
else
If pagina = "3" Then
Sheets("hoja4").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1 
else
If pagina = "4" Then
Sheets("hoja5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1 
Else
MsgBox "Ese número de página no existe", vbExclamation, "PAGINA INCORRECTA"
End If
End If
End If
End If
End Sub
Y así, tantas condicionales "if" como necesites.
Espero que te sirva.
Saludos
Usuario
Pero, ¿cómo creo ese botón de comando? ¿Podrías explicarme por pasos?
Ej: Insertar<graficos<columna<etc.....
Gracias
Avatar
Experto
1º menu VER > Barras de herramientas > Cuadro de controles
2º en la barra que te aparece pincha en Botón de comando (icono cuadrado con forma de botón) y dibuja el botón en la parte de la hoja que tu quieras
3º En la misma barra de Cuadro de controles, pincha en Ver código (icono con lupa) y copia todo lo anterior teniendo en cuenta que:
-Donde dice hoja2 deberás cambiarle el nombre exacto que tenga la hoja que quieres imprimir y así con las demás hojas.
Prueba y me dices algo.
Saludos.
Usuario
Perdona de nuevo. Tengo el EXCEL 2010.
VER no está, está VISTA pero ahí no hay ninguna opción de la que me indicas.
Podrías indicarme los pasos con EXCEL 2010. Ese es el problema de MICROSOFT y los cambios que hacen.
Muchas gracias.
 
Avatar
Experto
No he manejado excel2010 pero creo que tienes que habilitar la pestaña "programador" en las opciones de excel y en esa pestaña tienes algo como "agregar" y ahí te salen los distintos controles que puedes usar, entre ellos, el botón de comando, y sino busca en google como encontrar el botón de comando en excel 2010.
Yo te puedo ayudar en el código pero no usar excel 2010
Usuario
He creado el botón de comando y he activado la macro.
En el código he agregado exactamente esto:
Private Sub CommandButton1_Click()
'mostrar un inputbox para ingresar datos
Dim pagina As String
pagina = InputBox("Ingrese número de pagina a imprimir", "IMPRIMIR")
'si el dato es igual a "..." entonces ...
If pagina = "1" Then
Sheets("PORTADA_PROYECTO").Select  'se situa en la hoja2
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
If pagina = "2" Then
Sheets("PRESTACIONES_SEG._SOCIAL").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
If pagina = "3" Then
Sheets("PROPUESTA_PERSONAL").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
If pagina = "4" Then
Sheets("DETALLE_DE_COBERTURAS_Y_PRIMAS").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
If pagina = "5" Then
Sheets("PROTECCION_DE_DATOS").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
MsgBox "Ese número de página no existe", vbExclamation, "PAGINA INCORRECTA"
End If
End If
End If
End If
End If
End Sub
 
Al darle al botón me da un error de EXCEL que me hace reiniciarlo.
No se si podrás ayudarme con esto.
 
Saludos,
 
 
Usuario
Al final he creado la siguiente macro y la he asociado a un botón:
Sub Macro2()
'
' Macro2 Macro
'
'
   Sheets(Array("PORTADA PROYECTO", _
        "PRESTACIONES SEG. SOCIAL", "PROPUESTA PERSONAL ", _
        "DETALLE DE COBERTURAS Y PRIMAS", "PROTECCION DE DATOS")).Select
    Sheets("TARIFICADOR").Application.Dialogs(xlDialogPrint).Show.Activate
End Sub
Con esto consigo que me asocie las hojas que necesito que imprima y que me salga el menú de imprimir para poder elegir la impresora. Funciona bien e imprime bien pero me sale el siguiente error.
Microsoft visual basic se ha producido el error '424'en tiempo de ejecución: Se requiere un objeto
 
¿Me podrías dar alguna instrucción para que no salga ese error?
Muchas gracias y perdona por se tan...