三九宝宝网宝宝百科宝宝知识

求个excel打印宏

05月19日 编辑 39baobao.com

[巧用宏指令拒绝Excel2007文件打印]现在的办公越来越倾向于无纸化办公了,Excel2007的应用也变得比较频繁了。但是在Excel2007的操作过程中我们可能会不小心碰到了打印按钮或者一些人不太注重节约,比较随意打印Ex...+阅读

Sub PrintSheets() If Sheets("Sheet1").Range("A1").Value = 1 Then '打印预览,如果要打印用 wSheet.PrintOut 'Sheets("Sheet2").PrintPreview Sheets("Sheet2").PrintOut Copies:=1, Collate:=True ElseIf Sheets("Sheet1").Range("A1").Value = 2 Then 'Sheets("Sheet3").PrintPreview Sheets("Sheet3").PrintOut Copies:=1, Collate:=True End If End Sub

excel双面打印宏

下面的程序不知能不能对你有用。 第一:打开要进行双面打印的excel文件,按 ALT+F11 进入VB编辑环境,在左侧工程窗口下右健,选择“插入->模块”,命名为模块1,双击该模块,在右侧窗口输入如下代码: Public StartPage As Integer, StepLong As Integer, Col As String, PageHeight As Single, OffSet As Integer 变量说明:StartPage 表示要打印的起始页,比如可以是1或2,分别表示要打印奇数页或偶数页。 StepLong 表示是连续打印还是非连续打印,比如可以是1或2,分别表示连续打印或奇偶打印。 Col 表示excel中要打印到的哪一列,比如可以是D或H,分别表示从A列打印到D列 或从A列打印到H列。 PageHeight 表示excel分页时每页的标准页高,其中纵向页高为669.75,横向页高为427.5。 OffSet 表示判定上一页的最后一行是否被excel自动分到下一页的依据,其中纵向依据 为5,横向依据为14,即当:累计总行高 - 标准页高 >5 (su - PageHeight >5) 或 累计总行高 - 标准页高 >14 (su - PageHeight >14) 时(其中su 表示累计总行高, 这个变量将在后面说明),上一页的最后一行将被excel自动分到下一页中。 第二:在左侧工程窗口下右健,选择“插入->用户窗体”,在工程窗口下方属性窗口中为窗体命名为frmPrint ,在右侧窗体上绘制出两个命令按钮,分别命名为 ood 和 even 。 第三:在左侧工程窗口下右健,选择“插入->用户窗体”,在工程窗口下方属性窗口中为窗体命名为frmOrientation ,在右侧窗体上绘制出两个单选按钮和一个命令按钮,两个单选按钮分别命名为optPortrait 和optLandscape ,命令按钮命名为cmdOk 。 第四:双击工程窗口的frmPrint ,打开右侧窗体,双击ood按钮,进入ood的click事件中,编写如下代码: Private Sub ood_Click() StartPage = 1 StepLong = 2 Col = InputBox("请输入要打印的列字母,例如: H", "打印列选择", "H") If Col = "" Then Col = "H" Unload Me Load frmOrientation frmOrientation.Show End Sub 双击even按钮,进入even的click事件中,编写如下代码: Private Sub even_Click() StartPage = 2 StepLong = 2 Col = InputBox("请输入要打印的列字母,例如: H", "打印列选择", "H") If Col = "" Then Col = "H" Unload Me Load frmOrientation frmOrientation.Show End Sub 第五:双击工程窗口的frmOrientation ,打开右侧窗体,双击窗体,选择事件栏中的Activate ,在UserForm 的Activate 事件中,输入如下代码: Private Sub UserForm_Activate() optPortrait = 1 PageHeight = 669.75 OffSet = 5 End Sub 再次双击工程窗口的frmOrientation ,打开右侧窗体,双击cmdOk 按钮,进入cmdOk 的click 事件中,编写如下代码: Private Sub cmdOk_Click() If optPortrait Then PageHeight = 669.75 OffSet = 5 Else PageHeight = 427.5 OffSet = 14 End If oe Unload Me End Sub 说明:其中oe 为模块1下的一个通用过程,下面将会说明。 第六:双击工程窗口的模块1,在右侧输入如下代码: Sub oe() Dim s() As Integer Dim e() As Integer ReDim Preserve s

(1) ReDim Preserve e

(1) s

(1) = 1 ii = 1 Do While True For j = 1 To Asc(UCase(Col)) - Asc("A") + 1 q = q & Trim(Cells(ii, j)) r = r Or Cells(ii, j).MergeCells Next j If q = "" And Not r Then Exit Do Else q = "" r = False End If ii = ii + 1 Loop ii = ii - 1 i = 1 Do While iOffSet Then su = 0 e(UBound(e)) = i - 1 ReDim Preserve s(UBound(s) + 1) ReDim Preserve e(UBound(e) + 1) s(UBound(s)) = i Else i = i + 1 End If Loop e(UBound(e)) = i - 1 For i = StartPage To UBound(s) Step StepLong t = t & "$A$" & s(i) & ":$" & Col & "$" & e(i) & "," Next i t = Left(t, Len(t) - 1) ActiveSheet.PageSetup.PrintArea = t End Sub 说明:s() 为动态数组,表示某一页的起始行。()里的内容表示某一所指页,s() 的值表示该页首 行的位置。 e() 为动态数组,表示某一页的终止行。()里的内容表示某一所指页,e() 的值表示该页末 行的位置。 ii 为行变量。 j 为列变量。 q 为判定数据列内容是否为空。如果不为空,则继续判定下一行,否则结束循环并确定 出最后一行数据的位置。 r 为确定某个单元格是否合并的布尔变量。如果为真,则继续判定下一行,否则如果q 为空则结束循环并确定出最后一行数据的位置。 su 为累计总行高。用来判定每页的首行和末行的位置。

怎样用宏打印

以excel为例,你建立3个sheet,sheet1为要打印的格式,sheet2为需要打印的数据,sheet3存放参数。

在sheet1中,利用vlookup函数获取对应的数据,然后画一个按钮,按钮里的代码用循环的方法读取对应的记录并打印。

关键代码:

Dim x As Integer

x=1

Do While (Len(Sheet2.Cells(x, 1)) > 0)'检查下一行是否有内容

Sheet3.Cell(1,1)=Sheet2.Cell(x,1)'设置当前行的ID

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True '打印

x=x+1

Loop

以下为关联文档:

excel中的宏怎么用宏的英文名称为Macro,意思就是由用户定义好的操作,即连续的命令及操作步骤,将这些命令及步骤依序保存为一个“宏命令”,并加以命令。宏的作用是可以使频繁执行的动作自动化,并准...

excel里怎么录制宏怎么使用宏。。具体点。。万分感谢。03版的话相应的录制和执行宏的选项都在:工具——宏 下边。 如果你想使用宏的话就要先录制一个宏,也就是将相应的操作记录下来,以便以后再遇到相同的操作时可以通过宏来自动执行...

如何在EXCEL中删除宏请执行下列操作之一: 打开包含要删除的宏的工作簿。 如果要删除的宏保存在个人宏工作簿 (Personal.xlsb) 中,并且此工作簿被隐藏,请执行下列步骤来取消隐藏该工作簿: 在“视图”选...

Excel 2013怎样启用宏功能Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件,其中包括Excel、PPT、Word、Outlook等。...

excel表格启用宏什么意思excel启用宏的步骤方法是: 1.excel宏非常实用,可以大大的提高工作效率,首先打开excel表格。 2.点击excel左上角的office图标,然后点击选择excel选项。 3.在excel选项中选择信任...

求个excel报表模板这个表格比较简单,可以这么做 第1行输入标题:月份、1、2、3、4...31、当月小计 第1列(a列)输入月份:月份、一月、二月、三月...十二月 数据区就是(b2:af13) 在第33列(AG列)输入公式 =...

excel宏编程如何对打印机进行设置打印纸张宽度高度excel宏编程如何对打印机进行设置打印纸张宽度高度,如何用Word宏给打印机记工:这个都可以用宏来设置的,比如: LeftMargin 属性 以磅为单位返回或设置左边距的大小。Double 类型,...

EXCEL如何自定义宏EXCEL如何自定义宏,如何使用Excel中的宏:一、自制自定义宏 首先,如下图一样,执行菜单操作“工具”→“宏”→“宏” 2弹出如下图对话框! 3现在,我们要做的任务就是创建一个原来就...

为什么excel打印无法横向打印为什么excel打印无法横向打印:在准备打印时更改页面方向 选择要打印的一个工作表、多个工作表或工作表数据。 单击Microsoft Office 按钮 ,,然后单击打印。 键盘快捷方式您也可...

推荐阅读
图文推荐