Establecer altura de fila y ancho de columna en milímetros

Las macros siguientes le permiten establecer alturas de fila y anchos de columna usando milímetros como escala:

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

Esta macro de ejemplo muestra cómo puede establecer la altura de la fila para la fila 3 y el ancho de la columna para la columna C en 3,5 cm:

Sub ChangeWidthAndHeight()

SetColumnWidthMM 3, 35

SetRowHeightMM 3, 35

End Sub