行の高さと列の幅をミリメートルで設定

以下のマクロでは、ミリメートルをスケールとして使用して行の高さと列の幅を設定できます。

Sub SetColumnWidthMM(ColNo As Long, mmWidth As Integer)

' 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

Sub SetRowHeightMM(RowNo As Long, mmHeight As Integer)

' changes the row height to mmHeight

If RowNo < 1 Or RowNo > 65536 Then Exit Sub

Rows(RowNo).RowHeight = Application.CentimetersToPoints(mmHeight / 10)

End Sub

このサンプルマクロは、行3の行の高さと列Cの列の幅を3.5cmに設定する方法を示しています。

Sub ChangeWidthAndHeight()

SetColumnWidthMM 3, 35

SetRowHeightMM 3, 35

End Sub