码迷,mamicode.com
首页 > 其他好文 > 详细

复制可见区域到新表

时间:2019-11-04 09:18:18      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:paper   tom   active   res   int   ddr   单元格   head   ade   

Sub CopyVisibleToNewSheet()
    Dim Wb As Workbook
    Dim Sht As Worksheet
    Dim NewSht As Worksheet
    Dim Rng As Range
    Set Wb = Application.ThisWorkbook
    Set Sht = Wb.ActiveSheet
    With Sht
        Set Rng = .UsedRange.SpecialCells(xlCellTypeVisible)
        Debug.Print Rng.Address
    End With
    Set NewSht = Wb.Worksheets.Add(After:=Wb.Worksheets(Wb.Worksheets.Count))
    NewSht.Name = "复制可见单元格" & Wb.Worksheets.Count
    Rng.Copy NewSht.Range("A1")
    A4PageSetup NewSht
    Set Wb = Nothing
    Set Sht = Nothing
    Set Rng = Nothing
    Set NewSht = Nothing
End Sub
Private Sub A4PageSetup(ByVal Sht)
    Application.PrintCommunication = False
    Dim Rng As Range
    With Sht
        Set Rng = .UsedRange
        SetCenters Rng
    End With
    With Sht.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
        .PrintArea = Rng.Address
        .LeftMargin = Application.InchesToPoints(0.236220472440945)
        .RightMargin = Application.InchesToPoints(0.236220472440945)
        .TopMargin = Application.InchesToPoints(0.590551181102362)
        .BottomMargin = Application.InchesToPoints(0.590551181102362)
        .HeaderMargin = Application.InchesToPoints(0.31496062992126)
        .FooterMargin = Application.InchesToPoints(0.31496062992126)
        .PrintComments = xlPrintNoComments
        .CenterHorizontally = True ‘水平居中
        .CenterVertically = True ‘垂直居中
        .Orientation = xlPortrait ‘纵向
        .PaperSize = xlPaperA4 ‘纸张大小
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = True
        .FitToPagesWide = 1 ‘一页宽度
        .FitToPagesTall = 1 ‘一页高度
        .PrintErrors = xlPrintErrorsDisplayed
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
    End With
    Set Rng = Nothing
    Application.PrintCommunication = True
End Sub
Private Sub SetCenters(ByVal Rng As Range)
    With Rng
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .Columns.AutoFit
    End With
End Sub

  

复制可见区域到新表

标签:paper   tom   active   res   int   ddr   单元格   head   ade   

原文地址:https://www.cnblogs.com/nextseven/p/11790312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!