25/11/2010, 15:48
|
| | Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 17 años, 2 meses Puntos: 39 | |
Respuesta: programar 2 macros (codigos) en uno solo para un solo Monimo, selecioné las que me interesan, las coloque dentro del codigo.
Es como si nada ubiera echo las lineas no hacen nada, las cambie de punto y nada,
¿en que punto del codigo deverian ir las lineas?
Private Sub cmdPrintHoja_Click()
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 a imprimir."
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.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintArea = ""
.PaperSize = xlPaperLetter 'formato carta 'xlPaperA4 A4 oficio pequeño
.Orientation = xlLandscape 'orientacion de la hoja horizontal
.LeftMargin = Application.InchesToPoints(0.708661417322835)
.RightMargin = Application.InchesToPoints(0.708661417322835)
.TopMargin = Application.InchesToPoints(0.748031496062992)
.BottomMargin = Application.InchesToPoints(0.748031496062992)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False 'Imprimir encabezados
.PrintGridlines = False 'líneas de división
.BlackAndWhite = False 'incluir colores o no
.FitToPagesWide = 1 'reduce el tamaño de la hoja (ancho)
.FitToPagesTall = False 'reduce el tamaño de la hoja (alto)
.CenterHorizontally = False 'centrar horizontalmente
.CenterVertically = False 'centrar verticalmente
.Draft = False 'No imprime graficos, true si imprime
.OddAndEvenPagesHeaderFooter = False
.PrintComments = xlPrintNoComments 'imprime comentarios xlPrintSheetEnd
.PrintQuality = 300
.ScaleWithDocHeaderFooter = True ' Devuelve o establece si el encabezado y pie de página debe ampliarse con el documento cuando el tamaño de los cambios del documento
.AlignMarginsHeaderFooter = True ' Devuelve True para Excel para alinear el encabezado y el pie de página con los márgenes establecidos en las opciones de configuración de página
End With
Application.PrintCommunication = True
'----------------------------
''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
te agradesco tu posible ayuda |