乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 求用EXCEL宏批量打印的代码

求用EXCEL宏批量打印的代码

作者:乔山办公网日期:

返回目录:excel表格制作


看样子,sheet1的单元格和sheet列表头是有对应关系的。你把第一张sheet的样子截图一张补上来,然后把第二张sheet每一列表头依次写上来才能利于回答此问题。

你是要 (1)将Sheet1的各行内容全部逐一引入“打印”表中,打印。

还是(2)根据P2的内容,到Sheet1中打出 对应在行的内容,引入“打印”表中,打印。

我大概以(1)的要求写个粗略的程序,你修改后7a686964616fe78988e69d83332调试执行吧:

1、先选择“打印”表,设定打印区域,请选择你要打印的区域,在页面布局-打印区域-设置打印区域,这样区域外的内容不会被打印。

2、在打印区域外,用菜单-开发工具-插入-按钮,按内容为“打印全部表格”,

3、在宏-编辑中,选择“按钮1_Click”,输入下面的宏指令,我只是写上一些关键的语句,你可按具体要求补充完整。原答案被判违规现修改,感谢审核的放行。谢谢!

4、VBA程序基本内容:

Public a As String, b As String, c As String, d As String, e As String, f As String, g As String    '定义公共变量

Public h As String, i As String, j As String, k As String, l As String, m As String, LastRow As Integer
Sub 按钮1_Click()
    Sheets("sheet1").Select    '选择Sheet1工作表
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row    '求出表格内容的最后一行行号
    For x = 2 To LastRow    '从第二行的内容开始 到最后一行
        a = Cells(x, 1)   '合同编号客户名称 将对应行的内容读入变量中
        b = Cells(x, 2)   '合同编号 Cells(x,2)的意思是第x行第2列的单元格内容
        c = Cells(x, 3)   '客户名称 a~m是变量,存放x行中各单元格的资料
        d = Cells(x, 4)   '区域经理
        e = Cells(x, 5)   '代理商
        f = Cells(x, 6)   '函件单号
        g = Cells(x, 7)   '是否回函
        h = Cells(x, 8)   '合同总价
        i = Cells(x, 9)   '到款金额
        j = Cells(x, 10)  '合同余款
        k = Cells(x, 11)  '截止开票金额
        l = Cells(x, 12)  '开票金额
        m = Cells(x, 13)  '求和项
        
        Sheets("打印").Select    '
        Cells(1, 1).Select    '
        [J6] = a    '合同编号客户名称 将变量内容填入对应单元格的中
        [J2] = b    '方括号中内容就是单元格名称,如[J2]就是J2单元格
        [K2] = c    ’这里仅作示范,请你根据变量的内容要填入打印表格中的什么地方你自行修改
        [E3] = d
        [C5] = e
        [E5] = f
        [F5] = g
        [H5] = h
        [J5] = i
        [D7] = j
        [E7] = k
        [F7] = l
        [G7] = m
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False    '打印指定范围内容,打印一份
    Next    '处理下一行
End Sub

sub test ()
dim arr
arr=range("A1:E5")
range("A1").resize(ubound(arr,2),ubound(arr))=application.transpose(arr)
end sub
或者直接
sub test ()
range("A1:E5")=application.transpose(range("A1:E5"))
end sub
实际上你直接复zhidao制A1:E5,右键选择性粘贴,把转置选择上,确定。就完成了你的要求,不一定要用宏解决

贴过去以后还zd要刷新 公式吧

Sub dayin()
Dim i&
For i = 1 To 165
Sheets("打印").[B2] = Sheets("sheet1").Cells(i, 1)
Sheets("打印").Select
ActiveSheet.Calculate
Sheets("打印").PrintOut
Next
End Sub

相关阅读

  • 求用EXCEL宏批量打印的代码

  • 乔山办公网excel表格制作
  • 看样子,sheet1的单元格和sheet列表头是有对应关系的。你把第一张sheet的样子截图一张补上来,然后把第二张sheet每一列表头依次写上来才能利于回答此问题。你是要 (1)将Sheet1的各行内
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网