中易网

vba如何取得excel的打印区域

答案:1  悬赏:10  
解决时间 2021-10-14 03:23
  • 提问者网友:活着好累
  • 2021-10-13 20:05
vba如何取得excel的打印区域
最佳答案
  • 二级知识专家网友:醉吻情书
  • 2021-10-13 21:27
1、以B4竖向打印为例,首先得到A列非空的行数m和非空的列数n,那么单行的行宽大约是720/m和单列的列宽是83/n时,大概刚好打印为一页。如果你打印预览不是刚好一页,你可以调整720和83这两个数字。
通过改变RowHeight和ColumnWidth值,VBA可以调节行高和列宽。
你在A列追加一些数据,或者在第一行的最右面追加些数据,再执行test1程序看打印预览是否还是自动调整到一个整页:
Sub sss()
'非空行数为m,非空列数为n
m = [A65535].End(xlUp).Row
n = [iv1].End(xlToLeft).Column
Rows("1:" & m).RowHeight = 720 / m
Range(Cells(1, 1), Cells(1, n)).ColumnWidth = 83 / n
End Sub

2、不建议你用上面那个改变行高和列宽的方法,因为字体你还要编程序进行改变。简单的办法就是把要打印的区域用VBA设置成整页.比如test2这个样子:
Sub test2()
m = [A65535].End(xlUp).Row
n = [iv1].End(xlToLeft).Column
With ActiveSheet.PageSetup
.PrintArea = ActiveSheet.Range(Cells(1, 1), Cells(m, n)).Address
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
End Sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息