Macro de Impresión
Hola, agradezco todos tus comentarios, pero cuanto más aprendo más consultas surgen.
Quería saber si se puede, es que como viste en un archivo que te mande (formulario) hay uma macro de impresión pero es grande dado de que son varias áreas las que hay que imprimir, por ejemplo tengo este código:
Private Sub cmbAceptar_Click()
Dim icopias As Integer
If opbDGene.Value = True Then GoTo DGene
If opbDPrograma.Value = True Then GoTo DPrograma
If OpbRecursos.Value = True Then GoTo Recursos
If OpbProy1.Value = True Then GoTo Proy1
If opbProy2.Value = True Then GoTo Proy2
If opbProy3.Value = True Then GoTo Proy3
DGene:
Application.GoTo Reference:="DatosGenerales"
ActiveSheet.PageSetup.PrintArea = "DatosGenerales"
With ActiveSheet.PageSetup
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlPortrait
.PaperSize = xlPaperLetter
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
icopias = InputBox("cuantas copias desea??")
ActiveWindow.SelectedSheets.PrintOut Copies:=icopias, Collate:=True
If MsgBox("Desea Imprimir otro cuadro??", vbYesNo) = vbYes Then GoTo empesar
If vbNo Then GoTo despedida
End
DPrograma:
Application.GoTo Reference:="DatosPrograma"
ActiveSheet.PageSetup.PrintArea = "DatosPrograma"
With ActiveSheet.PageSetup
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlPortrait
.PaperSize = xlPaperLetter
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
icopias = InputBox("cuantas copias desea??")
ActiveWindow.SelectedSheets.PrintOut Copies:=icopias, Collate:=True
If MsgBox("Desea Imprimir otro cuadro??", vbYesNo) = vbYes Then GoTo empesar
If vbNo Then GoTo despedida
End
¿Cómo puedo hacer, dado de que si uno las ve, solo son las dos primras lineas las que cambian, es decir las que le dicen que es lo que tiene que tomar par impresión, sabes una manera más fácil de poderlo hacer? ¿O qué impleque menos código?, muchísimas gracias
Quería saber si se puede, es que como viste en un archivo que te mande (formulario) hay uma macro de impresión pero es grande dado de que son varias áreas las que hay que imprimir, por ejemplo tengo este código:
Private Sub cmbAceptar_Click()
Dim icopias As Integer
If opbDGene.Value = True Then GoTo DGene
If opbDPrograma.Value = True Then GoTo DPrograma
If OpbRecursos.Value = True Then GoTo Recursos
If OpbProy1.Value = True Then GoTo Proy1
If opbProy2.Value = True Then GoTo Proy2
If opbProy3.Value = True Then GoTo Proy3
DGene:
Application.GoTo Reference:="DatosGenerales"
ActiveSheet.PageSetup.PrintArea = "DatosGenerales"
With ActiveSheet.PageSetup
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlPortrait
.PaperSize = xlPaperLetter
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
icopias = InputBox("cuantas copias desea??")
ActiveWindow.SelectedSheets.PrintOut Copies:=icopias, Collate:=True
If MsgBox("Desea Imprimir otro cuadro??", vbYesNo) = vbYes Then GoTo empesar
If vbNo Then GoTo despedida
End
DPrograma:
Application.GoTo Reference:="DatosPrograma"
ActiveSheet.PageSetup.PrintArea = "DatosPrograma"
With ActiveSheet.PageSetup
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlPortrait
.PaperSize = xlPaperLetter
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
icopias = InputBox("cuantas copias desea??")
ActiveWindow.SelectedSheets.PrintOut Copies:=icopias, Collate:=True
If MsgBox("Desea Imprimir otro cuadro??", vbYesNo) = vbYes Then GoTo empesar
If vbNo Then GoTo despedida
End
¿Cómo puedo hacer, dado de que si uno las ve, solo son las dos primras lineas las que cambian, es decir las que le dicen que es lo que tiene que tomar par impresión, sabes una manera más fácil de poderlo hacer? ¿O qué impleque menos código?, muchísimas gracias
1 Respuesta
Respuesta de fejoal
1