嗨,我整晚都在找,找不到任何能解决问题的东西
我将一个单元格(a:3)定义为len=53mm Hgt=33mm,现在我想调整所有单元格的大小(从a:3到ColLast:RowLast),这些单元格适合预先定义的区域,即指定了Awidth=210和Bht=310的A4页面
还有为什么当我使用以下代码打印单元格时
Sub SetColumnWidthMM(ColNo As Long, mmWidth As Double)
' changes the column width to mmWidth
Dim w As Single
If ColNo < 1 Or ColNo > 255 Then Exit Sub
Application.ScreenUpdating = False
w = Application.CentimetersToPoints(mmWidth / 10)
While Columns(ColNo + 1).Left - Columns(ColNo).Left - 0.1 > w
Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth - 0.1
Wend
While Columns(ColNo + 1).Left - Columns(ColNo).Left + 0.1 < w
Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth + 0.1
Wend
End Sub
打印的单元格根据我使用的打印机类型而改变大小??
请注意,不同的打印机有不同的页边距。所以,对于不同打印机中的相同内容,您必须期望不同的布局。
始终查看PageSetup.*Margin
。
最好不要更改列宽,更改页面设置比例。
顺便问一下,你想用你的代码实现什么?
不言自明,我希望:
With Worksheets("sheetname").PageSetup
.PaperSize = xlPaperA4 'Just to ensure we are using A4
FullPageWidth_Points = Application.CentimetersToPoints(21#)
AvailablePageWidth_Points = FullPageWidth_Points - .LeftMargin - .RightMargin
AvailablePageWidth_Centimeters = AvailablePageWidth_Points / Application.CentimetersToPoints(1#)
MaxNumberOfCells = Int(AvailablePageWidth_Points - CellsWidth_Points)
End With