首页 > 解决方案 > 定义 Excel VBA 宏以打印可变大小的多页

问题描述

任何人都可以,请帮我解决这个问题。我想定义 excel VBA 宏,打印几页,每一页的大小都不同。

第 1 页范围从单元格 (A1) 到单元格 (I48) 第 2 页范围从单元格 (A50) 到单元格 (I100) 其余页面从单元格 (A105) 到单元格 (I3000),每页包含 75 行和 9列。

提前致谢。

标签: excel

解决方案


Sheet2 格式Sheet1 包含数据。Sheet2 包含要打印的页码、开始行、结束行、开始列、结束列的详细信息

Sub Printtest()

Dim wb As Workbook

Dim ws1, ws2 As Worksheet

Set wb = ThisWorkbook

Set ws2 = wb.Worksheets("Sheet2")

Set ws1 = wb.Worksheets("Sheet1")
Dim LastRow As Long


    With ws2
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With


    For i = 2 To LastRow

    row_start = ws2.Cells(i, 2).Value

    row_end = ws2.Cells(i, 3).Value
    col_start = ws2.Cells(i, 4).Value
    col_end = ws2.Cells(i, 5).Value

    With ws1
    'ws1.Range(Cells(row_start, col_start), Cells(row_end, col_end)).PrintPreview

    ws1.Range(Cells(row_start, col_start), Cells(row_end, col_end)).PrintOut

    End With
    Next
End Sub

推荐阅读