Macro para autoajustar celdas combinadas

Primero que nada no soy nada experto en el tema, asi es que si me pudieran ayudar con pasitos que mucho mejor¡

Hice una base de dats de clientes, misma que a su vez en otra hoja de excel me hace una solicitud de mis servicios, este catalogo de servicios lo tengo en otra hoja, bueno como la descripción del servicio es larga combine las celdas en la fila desde la N hasta la BN, pero para ajustar el texto lo hago manual jalando la fila hacia abajo, yo requiero que este ajuste se haga automatico al momento de que el texto de la descripción aparezca, QUE SE AJSUTE EL ALTO DE LA FILA, por que el ancho ya esta ajustado.

¿Me puedes apoyar? No se si me explique bien.

1 respuesta

Respuesta
1

Envíame tu archivo con unos ejemplos de cómo lo tienes y cómo quieres el resultado

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Daniel Trevino” y el título de esta pregunta.

enviado. espero tus comentarios.

saludos

Te anexo la macro en los eventos de tu hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Not Intersect(Target, Range("A:C")) Is Nothing Then
        ajustarfila Range("P" & Target.Row & ":BN" & Target.Row)
    End If
End Sub
'
Sub ajustarfila(rngRango As Range)
'Por.Dante Amor
    Application.ScreenUpdating = False
    For n = 1 To rngRango.Columns.Count
        sngAnchoTotal = sngAnchoTotal + rngRango.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 rngRango
        .Merge
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlTop
        .Columns(1).EntireColumn.ColumnWidth = sngAnchoCelda
        .Columns(1).RowHeight = sngAlto
    End With
    Application.ScreenUpdating = True
End Sub

sal u dos

Pero super excelentísimo, estoy impresionado por tu rapidez.

gracias¡¡

Sr. Dante amor, podría decirme que cambio tengo que hacer en la macro si solo quiero que se auto ajuste de la letra P a las BA1

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Target.Row < 18 Then Exit Sub
If Not Intersect(Target, Range("A:C")) Is Nothing Then
ajustarfila Range("P" & Target.Row & ":BN" & Target.Row)
End If
End Sub
'
Sub ajustarfila(rngRango As Range)
'Por.Dante Amor
Application.ScreenUpdating = False
For n = 1 To rngRango.Columns.Count
sngAnchoTotal = sngAnchoTotal + rngRango.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 rngRango
.Merge
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.Columns(1).EntireColumn.ColumnWidth = sngAnchoCelda
.Columns(1).RowHeight = sngAlto
End With
Application.ScreenUpdating = True
End Sub

mil gracias

Cambia en donde dice BN por BA

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas