Soy nuevo y esta es mi pregunta por si me puedes< ayudar Cuando quiero dar formato al ancho de una columna, o al ancho de una fila en excel es por puntos. ¿Si yo he medido una columna en milímetros como puedo convertir milímetros a puntos?
Tuve algunos inconvenientes, dentro de ellos el principal es que este equipo no me deja cambiar la resolución de la pantalla, digo esto debido a que entiendo que los puntos tienen que ver algo con la resolución del monitor... revísali en tu equipo. Esta sería la macro, pide el número de la columna y el ancho en milímetros: Option Explicit Sub MilimtoPoints() Dim ColNo As Integer Dim Rta Dim Texto As String Dim Titulo As String Dim MM As Single Titulo = "Solicitud de Información" Texto = "Por favor digite la columna que quiere modificar" Rta = InputBox(Texto, Titulo) If Not (IsNumeric(Rta)) Then Exit Sub If Rta < 1 Or Rta > 255 Then Exit Sub ColNo = Int(Rta) Texto = "Por favor digite el ancho deseado para la columna " & _ ColNo & "expresado en milímetros." Rta = InputBox(Texto, Titulo) If Not (IsNumeric(Rta)) Then Exit Sub If Rta < 0 Or Rta > 90 Then ' Valida si 90 funciona en tu monitor pues me parece que varía de acuerdo a la resolución Titulo = "Error!" Texto = "El mínimo es 1 y el máximo permitido es de 90, procedimiento cancelado" Rta = MsgBox(Texto, vbCritical + vbDefaultButton1 + vbOKOnly, Titulo) Exit Sub Else MM = Val(Rta) / 10 MM = Application.CentimetersToPoints(MM) While Columns(ColNo + 1).Left - Columns(ColNo).Left - 0.1 > MM Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth - 0.1 Wend While Columns(ColNo + 1).Left - Columns(ColNo).Left + 0.1 < MM Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth + 0.1 Wend End If End Sub
Cmera agradecido por tu contestación, pero no me refería al punto de pantalla sino al punto de impresión. Si quiero imprimir unas columnas con un ancho determinado, cuantos puntos tengo que dar al ancho de la columna para que me imprima un ancho determinado en milímetros sin tener que ir haciéndolo por impresiones sucesivas. Agradecido
Me has dado una valiosa lección, muchas gracias y a la próxima espero ser yo el que enseñe. Por lo pronto te pido el favor de valorar la respuesta para cerrar la pregunta.