Estimados, muchas gracias por ver mi tema, el tema es que tengo una macro que me funciona a la perfección para ajustar alto de celdas combinadas pero el problema es que me funciona muy lenta, y nose como poder hacerla mas efectiva. agradeceria su pronta ayuda. La macro es la siguiente:
Sub AjustarA1_A10()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim rngC As Range
For Each rngC In [Reporte!H5:H14]
AjustarTextoEnCeldasCombinadas rngC.MergeArea
Next rngC
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Sub AjustarTextoEnCeldasCombinadas(rngRango As Range)
'Este sub cambiará la altura de la fila que tenga las celdas combinadas para que el texto & _
que tengan sea visible sin cambiar el ancho de las columnas.
If rngRango.Rows.Count <> 1 Then
MsgBox prompt:="El rango a ajustar no puede tener más de una fila.", Buttons:=vbCritical + vbOKOnly
Exit Sub
End If
Dim sngAnchoTotal As Single, sngAnchoCelda As Single, sngAlto As Single
Estimados, muchas gracias por ver mi tema, el tema es que tengo una macro que me funciona a la perfección para ajustar alto de celdas combinadas pero el problema es que me funciona muy lenta, y nose como poder hacerla mas efectiva. agradeceria su pronta ayuda. La macro es la siguiente:
Sub AjustarA1_A10()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim rngC As Range
For Each rngC In [Reporte!H5:H14]
AjustarTextoEnCeldasCombinadas rngC.MergeArea
Next rngC
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Sub AjustarTextoEnCeldasCombinadas(rngRango As Range)
'Este sub cambiará la altura de la fila que tenga las celdas combinadas para que el texto & _
que tengan sea visible sin cambiar el ancho de las columnas.
If rngRango.Rows.Count <> 1 Then
MsgBox prompt:="El rango a ajustar no puede tener más de una fila.", Buttons:=vbCritical + vbOKOnly
Exit Sub
End If
Dim sngAnchoTotal As Single, sngAnchoCelda As Single, sngAlto As Single
Dim n As Integer
For n = 1 To rngRango.Columns.Count
sngAnchoTotal = sngAnchoTotal + rngRango.Cells(1, n).ColumnWidth
Next n
With rngRango.Cells(1, 1)
sngAnchoCelda = .ColumnWidth
.HorizontalAlignment = xlJustify
.MergeCells = False
.ColumnWidth = sngAnchoTotal
rngRango.Parent.Rows(rngRango.Row).AutoFit
sngAlto = .RowHeight
End With
With rngRango
.Merge
.Columns(1).EntireColumn.ColumnWidth = sngAnchoCelda
.Columns(1).RowHeight = sngAlto
End With
End Sub
Desde ya muchas gracias