excel 打印 VBA 问题
PrivateSubWorkbook_BeforePrint(CancelAsBoolean)Sheets(1).Range("a1").Value=Sheets(1)....
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets(1).Range("a1").Value = Sheets(1).Range("a1").Value + 1
End Sub
我设置的是打印一次单元格A1+1
然后我发现为什么是单元格A1+1后才打印.
比如说我打印的时候看到的A1单元格内数字是1 然后按了打印后打出来的单元格数字变成2了.
beforeprint打印之前执行A1+1
追问那请问怎么能打印之后执行A1+1
怎么写。感谢 展开
Sheets(1).Range("a1").Value = Sheets(1).Range("a1").Value + 1
End Sub
我设置的是打印一次单元格A1+1
然后我发现为什么是单元格A1+1后才打印.
比如说我打印的时候看到的A1单元格内数字是1 然后按了打印后打出来的单元格数字变成2了.
beforeprint打印之前执行A1+1
追问那请问怎么能打印之后执行A1+1
怎么写。感谢 展开
6个回答
展开全部
VBA设置excel自动打印:
sub dayin()
Application.ActiveSheet.PrintOut copies:=1
end sub
这是打印当前的工作表 打印一份
如果是打印当前工作薄中的工作表
Excel.ActiveWorkBook.PrintOut(1,Excel.WorkSheets.count,1,.T.) 带参数的打印
参数说明:共四个参数
参数1-数值:当前工作簿中进行打印的起始工作表号(默认1)参数2-数值:当前工作簿中进行打印的结束工作表号(默认最末)
参数3-数值:打印份数(默认1)
参数4-逻辑值:是预览打印还是直接打印:.T.-预览打印,.F.-直接打印(默认.F.)
Excel.ActiveSheet.PrintOut()
参数说明:共八个参数
参数1-数值:起始页号,省略则默认为开始位置参数2-数值:终止页号,省略则默认为最后一页
参数3-数值:打印份数,省略则默认为1份
参数4-逻辑值:是否预览,省略则默认为直接打印(.F.)
参数5-字符值:设置活动打印机名称,省略则为默认打印机
参数6-逻辑值:是否输出到文件,省略则默认为否(.F.),若选.T.且参数8为空,则Excel提示输入要输出的文件名
参数7-逻辑值:输出类型,省略则默认为(.T.)逐份打印,否则逐页打印
参数8-字符值:当参数6为.T.时,设置要打印到的文件名
Excel.ActiveSheet.PrintOut(1,3,6,.F.,"MyPrinter",.F.,.T.,,) 从1页打印到3页,打印6份,通过MyPrinter打印机来打印,并且,要逐份打印。
sub dayin()
Application.ActiveSheet.PrintOut copies:=1
end sub
这是打印当前的工作表 打印一份
如果是打印当前工作薄中的工作表
Excel.ActiveWorkBook.PrintOut(1,Excel.WorkSheets.count,1,.T.) 带参数的打印
参数说明:共四个参数
参数1-数值:当前工作簿中进行打印的起始工作表号(默认1)参数2-数值:当前工作簿中进行打印的结束工作表号(默认最末)
参数3-数值:打印份数(默认1)
参数4-逻辑值:是预览打印还是直接打印:.T.-预览打印,.F.-直接打印(默认.F.)
Excel.ActiveSheet.PrintOut()
参数说明:共八个参数
参数1-数值:起始页号,省略则默认为开始位置参数2-数值:终止页号,省略则默认为最后一页
参数3-数值:打印份数,省略则默认为1份
参数4-逻辑值:是否预览,省略则默认为直接打印(.F.)
参数5-字符值:设置活动打印机名称,省略则为默认打印机
参数6-逻辑值:是否输出到文件,省略则默认为否(.F.),若选.T.且参数8为空,则Excel提示输入要输出的文件名
参数7-逻辑值:输出类型,省略则默认为(.T.)逐份打印,否则逐页打印
参数8-字符值:当参数6为.T.时,设置要打印到的文件名
Excel.ActiveSheet.PrintOut(1,3,6,.F.,"MyPrinter",.F.,.T.,,) 从1页打印到3页,打印6份,通过MyPrinter打印机来打印,并且,要逐份打印。
展开全部
这是语句的问题。sheet(1).Range("a1").value 表示的是A1单元格的值。后面的sheet(1).Range("a1").value+1意思是在A1的值上+1。所以就出现A1=A1+1 也就是你距离说明的数字变成2了。
现在的A1值为1然后+1,所以A1=2
现在的A1值为1然后+1,所以A1=2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的程序就是beforeprint执行的啊,大打印之前。执行A1+1
追问
那请问怎么能执行打印之后执行A1+1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你点击打印之后,在打印之前将A1单元格的内容加一了啊
Workbook_BeforePrint就是说在打印之前会执行这个Sub,其中
Sheets(1).Range("a1").Value = Sheets(1).Range("a1").Value + 1
这个动作就是将A1 的值加一
附加:你将BeforePrint改为AfterPrint试试
Workbook_BeforePrint就是说在打印之前会执行这个Sub,其中
Sheets(1).Range("a1").Value = Sheets(1).Range("a1").Value + 1
这个动作就是将A1 的值加一
附加:你将BeforePrint改为AfterPrint试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1,设置好 打印区域
2.在按钮中加入代码 Application.Dialogs(xlDialogPrint).Show
2.在按钮中加入代码 Application.Dialogs(xlDialogPrint).Show
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询