23/11/2010, 11:34
|
| | | Fecha de Ingreso: noviembre-2007 Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 17 años Puntos: 69 | |
Respuesta: programar 2 macros (codigos) en uno solo para un solo Sub Printe_NombreHoja()
On Error GoTo controlError 'Si sucede un error irá a la línea "controlError" (abajo de todo)
Dim estaHoja
estaHoja = ActiveSheet.Name
Dim ImprimirHoja
Dim Mensaje, Titulo
Mensaje = "Ingrese el nombre de la hoja."
Titulo = " Hoja a imprimir"
ImprimirHoja = InputBox(Mensaje, Titulo)
If ImprimirHoja = Empty Then Exit Sub
If ImprimirHoja = "Activa" Then ImprimirHoja = estaHoja
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.Dialogs(xlDialogPrinterSetup).Show 'Selección y configuración de impresora
Dim Copias As Integer
Solicitar_Copias:
Copias = Val(InputBox("Indica el número de copias a imprimir...", "Copias para imprimir", 1))
If Copias = 0 Then
MsgBox "Usted canceló la acción.", vbInformation, " Impresion cancelada"
Exit Sub
ElseIf Not Copias > 0 Then
MsgBox "Indica un número mayor que cero."
GoTo Solicitar_Copias
End If
Application.ScreenUpdating = False
Worksheets(ImprimirHoja).Activate
ActiveSheet.PrintOut
Worksheets(estaHoja).Activate
Application.ScreenUpdating = True
End If
Exit Sub
controlError:
MsgBox "El nombre de hoja ingresado no existe.", vbExclamation, "Acción cancelada"
Exit Sub
End Sub
__________________ La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar |