请求编写VBA宏实现按指定份数打印Excel单元格标签
Excel宏:按对应B列份数打印A列内容
你的工作表数据如下:
A列内容:
A1: xxx
A2: yyy
A3: zzzB列对应打印份数:
B1: 2
B2: 5
B3: 7
以下是实现需求的VBA宏代码,它会遍历A列所有非空条目,按B列对应数值打印A列内容:
Sub PrintByCount() Dim ws As Worksheet Dim tempWs As Worksheet Dim i As Integer Dim printCount As Integer Dim printText As String Set ws = ThisWorkbook.ActiveSheet Set tempWs = ThisWorkbook.Sheets.Add i = 1 Do While ws.Range("A" & i).Value <> "" printText = ws.Range("A" & i).Value printCount = ws.Range("B" & i).Value If printCount > 0 Then tempWs.Range("A1").Value = printText tempWs.PrintOut Copies:=printCount End If i = i + 1 Loop Application.DisplayAlerts = False tempWs.Delete Application.DisplayAlerts = True Set ws = Nothing Set tempWs = Nothing End Sub
代码说明:
- 用临时工作表单独打印目标内容,避免打印原工作表的其他无关数据
- 循环遍历A列,直到遇到空单元格停止,确保覆盖所有有效条目
- 仅当B列打印份数大于0时执行打印,避免无效操作
- 打印完成后自动删除临时工作表,恢复Excel默认提示设置
内容的提问来源于stack exchange,提问作者Hani
相关产品推荐
相关产品推荐

