Problema con el alto de fila en Excel

Como podéis ver en la imagen, cuando copio mediante VBA unas celdas de una hoja a otra, hay filas que se desajustan. Tengo activado el "Ajustr texto", en "Formato de celdas". ¿Sabéis por qué pasa eso? ¿Cómo puedo arreglarlo?

1 respuesta

Respuesta
3

Puedes poner la macro para revisarla

Te pongo la que hace referencia a esa hoja, pero esto me lo ha hecho con otras macros que hacían otras funciones.

Sub Libro_terminado()
    Application.ScreenUpdating = False
    Eventos.InhabilitarEventos
    Cells(Rows.Count, 6).End(xlUp).Offset(0, 0).Select
    Selection.Copy
    Cells(Rows.Count, 7).End(xlUp).Offset(0, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Cells(Rows.Count, 9).End(xlUp).Offset(0, 0).Select
    Selection.ClearContents
    Cells(Rows.Count, 16).End(xlUp).Offset(1, 0).Select
    ActiveCell.FormulaR1C1 = DateValue(Now)
    Set h1 = Sheets(Format(Now, "yyyy"))
    Set h2 = Sheets("Libros leídos")
    '
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    u2 = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    '
    h1.Range("A" & u & ":b" & u & ",E" & u & ":F" & u & ",O" & u & ":P" & u).Copy
    h2.Range("A" & u2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Eventos.HabilitarEventos
    Libros_leídos.Titulo
    Sheets(Format(Now, "yyyy")).Select
    ActiveSheet.Unprotect
    Rows("5:5").Select
    Selection.RowHeight = 15
    Sheets(Format(Now, "yyyy")).Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowSorting:=True
    If Range("G10").Value = "" Then
    Application.Goto Sheets(ActiveSheet.Name).Cells(Rows.Count, 1).End(xlUp).Offset(-2, 0), True
    Range("A10").Select
    Else
    Application.Goto Sheets(ActiveSheet.Name).Cells(Rows.Count, 1).End(xlUp).Offset(-2, 0), True
    Range("G" & ActiveSheet.Rows.Count).End(xlUp).Select
    End If
End Sub

El problema es que intento manualmente autojustar el alto, y no puedo. Yo creo que no es problema de la macro. Si no de algo de la hoja o de la configuración. No lo sé. Ya me dices.

Gracias, y un saludo.

Justamente por eso se desajusta porque tienes el formato "Ajustar texto".

Una opción es quitar el formato.

Otra opción, si deseas conservar el formato, entonces ajusta la fila en la hoja, por ejemplo:

Después de esta línea:

    h2.Range("A" & u2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Agrega esta línea:

 H2. Rows(u2). RowHeight = 15

Con eso la línea regresará al tamaño 15, pero el texto, si es más largo del ancho de la columna no podrás verlo completamente, en ese caso tendrás que hacer más grande el ancho de la columna.

Si quieres que el ancho de la columna se ajuste automáticamente, entonces después de la línea agregada también agrega esta línea:

 H2.Columns("A:A"). EntireColumn. AutoFit

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas