Auto ajuste de tamaño de celda

Tengo un archivo en excel en que registro texto en varias celdas. Y quiero saber si hay forma de que se auto ajuste el tamaño de las celdas para que sea visible, ya que también lo convierto en PDF y no se alcanza a leer todo el contenido.

1 Respuesta

Respuesta
1

Pero quieres ajustar el texto a lo ancho o a lo alto, tienes las celdas combinadas. Se podría hacer una macro que se ejecute en automático cada que guardes el archivo, incluso podemos hacer que la macro genere en automático el PDF, primero que ajuste los textos y luego que genere el PDF, para ello me puedes enviar tu archivo en una hoja me pones como tienes tu información (sin ajustes) y en otra hoja me pones los textos de la forma ajustada que necesitas.

Hola: ya envíe el correo. Saludos

Esta es la macro para ajustar las celdas

Sub centrar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    i = 27
    Do While Cells(i, "O") <> ""
        ajustarfila Range("O" & i & ":V" & i), Range("AD" & i & ":AM" & i)
        i = i + 1
    Loop
    ruta = ThisWorkbook.Path & "\"
    nombre = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ruta & nombre & ".pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
    Application.ScreenUpdating = True
    MsgBox "Celdas ajustadas y PDF generado", vbInformation
End Sub
Sub ajustarfila(rngRango As Range, rngRango2 As Range)
'Por.Dante Amor
    For n = 1 To rngRango.Columns.Count
        sngAnchoTotal = sngAnchoTotal + rngRango.Cells(1, n).ColumnWidth
    Next n
    For n = 1 To rngRango2.Columns.Count
        sngAnchoTotal2 = sngAnchoTotal2 + rngRango2.Cells(1, n).ColumnWidth
    Next n
    With rngRango.Cells(1, 1)
        sngAnchoCelda = .ColumnWidth
        .MergeCells = False
        .ColumnWidth = sngAnchoTotal
        rngRango.Parent.Rows(rngRango.Row).AutoFit
        sngAlto = .RowHeight
    End With
    With rngRango2.Cells(1, 1)
        sngAnchoCelda2 = .ColumnWidth
        .MergeCells = False
        .ColumnWidth = sngAnchoTotal2
        rngRango2.Parent.Rows(rngRango2.Row).AutoFit
        sngAlto2 = .RowHeight
    End With
    If sngAlto > sngAlto2 Then sngAlto3 = sngAlto Else sngAlto3 = sngAlto2
    With rngRango
        .Merge
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlCenter
        .IndentLevel = 1
        .Columns(1).EntireColumn.ColumnWidth = sngAnchoCelda
        .Columns(1).RowHeight = sngAlto3
    End With
    With rngRango2
        .Merge
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlCenter
        .IndentLevel = 1
        .Columns(1).EntireColumn.ColumnWidth = sngAnchoCelda2
        '.Columns(1).RowHeight = sngAlto3
    End With
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

¡Gracias! En verdad ha sido de gran ayuda... realizaré ejercicios ya que este ajuste lo requiero en varios archivos con múltiples pestañas. Seguiré consultándote. Saludos y felicidades por compartir el conocimiento.

Hola Dante Amor

Gracias a tu macro he podido avanzar mucho en mi trabajo, sin embargo necesito hacer un ajuste.

Por cuestiones de administración de los archivos, quisiera ver si se puede que el nombre del archivo generado sea automático. En mi ejemplo, el campo de Unidad Médica es un listado. Por eso, al seleccionar de ese listado la unidad que requiero el resto de las celdas se llena con buscadores (fórmula "=buscarv") Cuando selecciono una unidad y guardo el archivo en PDF quisiera que se guardara el nombre compuesto por el folio de la unidad médica y por la leyenda " - B. Cédula de Compromisos y Hallazgos". Además, como se trataría de múltiples documentos, cada archivo que se guarde en PDF no se debe sustituir al hacer otro archivo.

Como hay todas esas fórmulas de buscar, para evitar errores involuntarios estaría protegida la pestaña, donde el campo de Unidad Médica es el único que el usuario puede seleccionar de la lista disponible. Por lo que necesitaría que la macro funcione aun cuando está protegida por contraseña.

De antemano gracias por tu ayuda.

Podrías crear una pregunta nueva en el tema de excel por cada petición, si gustas en el título de la pregunta puedes poner que va dirigida a Dante Amor. En el detalle de la pregunta me explicas lo que necesitas.

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas