excel 用VBA循环打印数据
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
浙公网安备 33010602011771号