Sub PrintData() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") ' 修改为你的工作表名 Dim rng As Range Set rng = ws.Range("A1:D10") ' 修改为你的数据区域 Dim cell As Range Dim i As Integer Application.ScreenUpdating = False ' 关闭屏幕更新以加快宏运行速度 For Each cell In rng If i = 0 Then ' 如果是第一行,不打印 i = i + 1 Else ws.Range(ws.Cells(i, 1), ws.Cells(i, 4)).PrintOut ' 打印当前行 i = i + 1 End If Next cell Application.ScreenUpdating = True ' 重新开启屏幕更新 End Sub
自己工程代码
Sub 循环打印() Dim i As Integer, j As Integer Dim a() Dim b() Worksheets("打印数据").Activate '先激活需要操作的表 a = Range("A2:ad" & Range("a2").End(xlDown).Row) '将数据存入数组中 '将数据存入数组中 Worksheets("追踪单打印 -A6").Activate '先激活需要操作的表 b = Range("K2:s" & Range("k2").End(xlDown).Row) '将数据存入数组中 '将数据存入数组中 For i = 1 To UBound(a) For j = 1 To UBound(b) If a(i, 1) = b(j, 1) Then Sheets("追踪单打印 -A6").Range("g1") = a(i, 9) Sheets("追踪单打印 -A6").Range("a9") = a(i, 24) Sheets("追踪单打印 -A6").Range("b2") = a(i, 2) Sheets("追踪单打印 -A6").Range("c2") = a(i, 3) Sheets("追踪单打印 -A6").Range("e3") = Sheets("追踪单打印 -A6").Range("o" & j + 1) Sheets("追踪单打印 -A6").Range("e4") = a(i, 18) Sheets("追踪单打印 -A6").Range("b5") = a(i, 6) Sheets("追踪单打印 -A6").Range("e5") = a(i, 19) Sheets("追踪单打印 -A6").Range("b6") = a(i, 7) Sheets("追踪单打印 -A6").Range("a16") = a(i, 16) Sheets("追踪单打印 -A6").Range("g6") = a(i, 28) Sheets("追踪单打印 -A6").Range("b9") = a(i, 25) Sheets("追踪单打印 -A6").Range("c9") = a(i, 26) Sheets("追踪单打印 -A6").Range("d9") = a(i, 27) Sheets("追踪单打印 -A6").Range("e9") = a(i, 23) Sheets("追踪单打印 -A6").Range("e11") = a(i, 8) Sheets("追踪单打印 -A6").Range("b12") = a(i, 12) Sheets("追踪单打印 -A6").Range("e12") = a(i, 11) Sheets("追踪单打印 -A6").Range("b13") = a(i, 15) Sheets("追踪单打印 -A6").Range("b14") = Sheets("追踪单打印 -A6").Range("m" & j + 1) Sheets("追踪单打印 -A6").Range("g13") = Sheets("追踪单打印 -A6").Range("n" & j + 1) ' Sheets("追踪单打印 -A6").Range("e6") = Sheets("追踪单打印 -A6").Range("b14") * Sheets("追踪单打印 -A6").Range("g13") * a(i, 16) With Sheets("追踪单打印 -A6") '.PrintOut '打印机打印 .PrintPreview '打印预览 End With Exit For '退出for End If Next Next End Sub
Sub 清除打印数据表() Worksheets("打印数据").Activate '先激活需要操作的表 Range("a2:AD" & Range("a2").End(xlDown).Row).ClearContents '清除单元格的内容和格式 Worksheets("追踪单打印 -A6").Activate '先激活需要操作的表 End Sub Sub 打印() Call 清除打印数据表 Call 复制打印数据数组 Call 循环打印 End Sub
标签:VBA,End,打印,excel,Range,Sheets,A6,追踪 From: https://www.cnblogs.com/Sunshine-bing/p/18157279