下面是我录的宏
Sub Macro1()
'
' Macro1 Macro
'
'
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.7)
.RightMargin = Application.InchesToPoints(0.7)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = False
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
End Sub
具体步骤:
1.先准备一个测试的xls文件进行情景假设,一共3个标签页,内容均有超出,如图所示。
2.打开“页面设置”对话框,发现左右页边距均为1.9;
若左右编辑均调整为0.1,则超出内容就不会换页;
但是这样只是设置一个页面的,如果有几百页,一个一个调整不仅工作量很大,还很容易出错。
3.在当前选中的Sheet页上点右键,在弹出的菜单上选择“选定全部工作表”;
此时会看到,所有的Sheet页都变成了选中状态。
4.此时再进行第2步的操作,然后就等上一段时间。此时不要做任何操作,等待它自己完成。
界面能操作了,就表示设置完毕了,此时再检查各个页面的设置,发现均以设置完毕。
5.此方法不仅适用在页面设置上,其他多标签页的批量设置也均类似.
我要设置几千个文件的sheet2的页边距,你说的是同一个文件的若干sheet
追答那就用VBA解决吧
追问代码怎么写
那里似乎不能同时设置多个文件吧
追答这个确实不可以的,如果有耐心的话可以分别设置,因为每个文件需要的边距未必一样。如果你真想简便的话,就把宏里leftmargin、rightmargin这些进行设置了,把后面的数据改成你需要的边距值就行了
本回答被提问者采纳