Ya coloqué esta pregunta en el foro en inglés, pero desafortunadamente no ha habido respuesta. Espero que en el foro en español alguien pueda ayudarme.
Mi situación es la siguiente: estoy tratando de imprimir los encabezados de las tres primeras columnas y los datos en las filas de un rango de datos que está filtrado. Actualmente el rango ya filtrado muestra solamente 3 filas de datos, pero cuando hago “print preview” de lo que supuestamente voy a imprimir (encabezados y 3 filas de datos), me aparece como que fuera a imprimir cada fila de datos en una página independiente, ó sea, me va a imprimir tres páginas, no 3 filas en una sola página.
Incluyo parte del código que estoy utilizando, por si alguno de ustedes puede encontrar el problema ó sugerirme algún ajuste en dicho código. Es importante tener en cuenta que no he insertado saltos de página manualmente.
User_Name = Environ("UserName")
With ActiveSheet.AutoFilter.Range
On Error Resume Next
Set rng = .Offset(1, 0).Resize(.Rows.Count - 1, 3) _
.SpecialCells(xlCellTypeVisible) ' Columnas "A:C"
On Error GoTo 0
End With
rng.Select ‘ Acá supuestamente son solo 3 filas de datos
'*
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.PrintTitleRows = "$A$" & Range("Head").Row ' Rango(“Head”) ya definido
.PrintTitleColumns = "$A:$C"
End With
'*
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.LeftFooter = "Deleted files on &D - &T"
.CenterFooter = "by" & User_name ' User_name previously defined
.BottomMargin = Application.InchesToPoints(0.384251968503937)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0.196850393700787)
.PrintQuality = 600
.Orientation = xlLandscape ' Horizontal
.PaperSize = xlPaperLetter
.BlackAndWhite = True
.FitToPagesWide = 1
.CenterHorizontally = True
.FitToPagesTall = False
End With
Columns("A:A").EntireColumn.AutoFit
ActiveSheet.ResetAllPageBreaks ' To be sure
ActiveWindow.SelectedSheets.PrintPreview
'*
'* In previous statement it's showing me that will print 3 pages
'*
Muchas gracias por su ayuda.
Caliche
Mi situación es la siguiente: estoy tratando de imprimir los encabezados de las tres primeras columnas y los datos en las filas de un rango de datos que está filtrado. Actualmente el rango ya filtrado muestra solamente 3 filas de datos, pero cuando hago “print preview” de lo que supuestamente voy a imprimir (encabezados y 3 filas de datos), me aparece como que fuera a imprimir cada fila de datos en una página independiente, ó sea, me va a imprimir tres páginas, no 3 filas en una sola página.
Incluyo parte del código que estoy utilizando, por si alguno de ustedes puede encontrar el problema ó sugerirme algún ajuste en dicho código. Es importante tener en cuenta que no he insertado saltos de página manualmente.
User_Name = Environ("UserName")
With ActiveSheet.AutoFilter.Range
On Error Resume Next
Set rng = .Offset(1, 0).Resize(.Rows.Count - 1, 3) _
.SpecialCells(xlCellTypeVisible) ' Columnas "A:C"
On Error GoTo 0
End With
rng.Select ‘ Acá supuestamente son solo 3 filas de datos
'*
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.PrintTitleRows = "$A$" & Range("Head").Row ' Rango(“Head”) ya definido
.PrintTitleColumns = "$A:$C"
End With
'*
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.LeftFooter = "Deleted files on &D - &T"
.CenterFooter = "by" & User_name ' User_name previously defined
.BottomMargin = Application.InchesToPoints(0.384251968503937)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0.196850393700787)
.PrintQuality = 600
.Orientation = xlLandscape ' Horizontal
.PaperSize = xlPaperLetter
.BlackAndWhite = True
.FitToPagesWide = 1
.CenterHorizontally = True
.FitToPagesTall = False
End With
Columns("A:A").EntireColumn.AutoFit
ActiveSheet.ResetAllPageBreaks ' To be sure
ActiveWindow.SelectedSheets.PrintPreview
'*
'* In previous statement it's showing me that will print 3 pages
'*
Muchas gracias por su ayuda.
Caliche