Imprimir una hoja en concreto

Buenos días, me gustaría saber si es posible obtener una macro para imprimir el nombre de la hoja que yo le diga. ¿Sería posible?
Gracias y saludos

1 respuesta

Respuesta
1
No se entiende bien. Como está escrito parece que quieres imprimir el nombre de la hoja.
Deduzco que quieres indicar a través de una macro, la hoja que se deba imprimir cuando ingreses su nombre.
Si es así, primero dime, ¿la hoja está en el mismo libro de donde ejecutarás la macro o está en otro libro?
ATENCIÓN: No vayas a finalizar la respuesta porque no podré contactarte.
Buenos días Hgo, perdonaque no me haya explica bien pero soy nuevo en esto.
La macro me gustaría que imprimiese una de las hojas que esta en el mismo libro. (Por ejemplo desde a hoja4 con un botón asignar la macro que me imprima la hoja2). No se si me he explicado bien.
Gracias por tu tiempo y un saludo
Juanma
Recién me conecto, en un rato (no tan corto)te paso alguna solución.
Otra vez:
Te paso un código, para que lo selecciones desde acá, lo copies y pegues en VBA.
Para abrir VBA: ALT+F11
En la ventana vertical de la izquierda, Click con el botón derecho del mouse y click en Insertar/ módulo.
Dentro del módulo pegas el código que figura más abajo.
Después de pegar el código, le asignas una combinación de teclas, botón, etc.
Creo que lo mejor es una combinación de letras, algo como CTRL+T o un botón en una barra de herramientas personalizada.
Combinación de letrar:
ALT+F8
Seleccionas la macro: "Imprimir mi hoja" y click en el botón opciones y establece la combinación. ¡OJO! Que no se CTRL+V, CTRL+C, u otra combinación que se utiliza como predeterminadas en Excel.
Si no necesitas más ayuda sobre este tema, por favor finaliza y valora la respuesta.
Hasta pronto, Hugo Mario.
___________
A continuación el código que debes copiar y pegar en el módulo.
Sub ImprimirMiHoja()
On Error GoTo controlError 'Si sucede un error irá a la línea "controlError" (abajo de todo)
Dim estaHoja 'Creo un variable
estaHoja = ActiveSheet.Name 'La variable toma el nombre de la hoja activa, para
'despúes volver; porque para imprimir una hoja primero la debo activar.
'------------
'El nombre de la hoja a imprimir lo ingreso en un cuadro (InputBox) que se abrirá al ejecutar la macro.
'
Dim imprimirHoja 'Creo una variable (aquí se almacenará el nombre de la hoja ingresada en el InputBox).
Dim Mensaje, Titulo 'Dos variables para los textos del InputBox
'Establezco los dos textos que aparecerán en el InputBox y que lógicamente tú puedes cambiar.
Mensaje = "Ingrese el nombre de la hoja."
Titulo = "¿Qué hoja desea imprimir?"
'La variable toma desde el InputBox el nombre de la hoja a imprimir.
imprimirHoja = InputBox(Mensaje, Titulo)
If imprimirHoja = Empty Then Exit Sub 'Si no escribo nada la variables está vacía y salgo.
'ATENCIÓN: Para imprimir la hoja activa escribe, "Esta" sin las comillas y presiona enter o Aceptar.
If imprimirHoja = "Esta" Then imprimirHoja = estaHoja 'Al dejar "Esta", se toma el nombre de la hoja activa.
'Puedes cambiar = "Esta" por otra palabra.
'------------
'Mensaje de confirmación por si te arrepientes
If MsgBox("Se imprimirá la hoja: " & imprimirHoja & Chr(13) _
& Chr(13) _
& "¿Desea continuar?", vbExclamation + vbDefaultButton1 + vbYesNo, "Por favor confirme la acción") = vbNo Then
Exit Sub
Else
Application.ScreenUpdating = False 'Desactivo la actualización de la pantalla para que no muestre la hoja activa.
Worksheets(imprimirHoja).Activate 'Activo la hoja a imprimir
ActiveSheet.PrintOut 'Imprimo
Worksheets(estaHoja).Activate 'Vuelvo a la hoja desde donde comencé
Application.ScreenUpdating = True 'Activo la actualización de la pantalla para ver la hoja activa.
End If
Exit Sub
controlError:
'En este caso el único error podría ser un nombre mal escrito, entonces mostramos este mensaje...
MsgBox "El nombre de hoja ingresado no existe.", vbExclamation, "Acción cancelada"
Exit Sub '...y salimos
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas