1、打开需要双面打印的excel表格
2、点菜单,进入宏编辑界面
3、增加宏模块
4、把下面的代码复制到右边空白代码处:Sub 双面或奇偶页龅歧仲半打印() On Error GoTo err Dim x As Integer荑樊综鲶, pagebegin As Integer, pageend As Integer, pagecount As Integer pagebegin = InputBox("请录入打印开始页:", "打印设置", 1) If (pagebegin = 0) Then Exit Sub pageend = ExecuteExcel4Macro("Get.Document(50)") x = InputBox("请录入打印结束页", "打印设置", pageend) If (x = 0) Then Exit Sub 'err.Raise 1, "测试异常" Dim str_test str_test = "" pagecount = Int((x - pagebegin) / 2) For i = 0 To pagecount currpage = 2 * i + pagebegin 'str_test = str_test & 2 * i + pagebegin & "," ActiveWindow.SelectedSheets.PrintOut From:=currpage, To:=currpage Next i '最后一页 'If ((x - pagebegin) Mod 2) = 0 Then str_test = str_test & x & "," '把纸张向自己面部方向翻过来,放入纸箱 If (MsgBox("请将打印出的纸张反向装入纸槽中", vbOKCancel, "打印另一面") = vbCancel) Then Exit Sub str_test = str_test & Chr(10) For j = 0 To pagecount '奇数纸张的最后一页计算会超过最大页数,不用打印 If (((x - pagebegin) Mod 2) = 0 And j = pagecount) = False Then currpage = 2 * j + pagebegin + 1 'str_test = str_test & 2 * j + pagebegin + 1 & "," ActiveWindow.SelectedSheets.PrintOut From:=currpage, To:=currpage End If Next j 'MsgBox str_test Exit Suberr: MsgBox "打印错误,请确认打印机及打印机驱动是否安装正常!"End Sub
5、点击宏执行双面打印
6、第一个窗口录入开始打印的页面(默认第一页),第二个窗口录入最后打印的页数(默认最后一页)
7、在出现下图时,把已经打印了奇数页的纸张调过来再打印偶数页