Función Concatenar de manera automática con VBA

Para Dante. Amor

Hola Dante buenos días, tengo un código que concatena valores, pero para que se desarrolle tiene que ser mediante un botón, quiero saber si la macro se puede ejecutar de manera automática, estuve leyendo al respecto y lo que entendí es que para que eso pase el código tiene que estar en la hoja específica y no en un módulo, pero ya estuve realizando pruebas y no logro hacer que funcione. Espero me puedas ayudar de antemano te agradezco la atención por la atención a esta duda. Te copio mi código

Sub Concatenar() Application.ScreenUpdating = False Dim i As Long Dim cell As Range 'ESTA SENTENCIA ES PARA CONCATENAR CADA DESVIACIÓN GENERADA With ActiveSheet For i = 1 To 50 If .Cells(i, "B") = "" And .Cells(i, "C") = "" Then .Cells(i, "D").Value = "" Else .Cells(i, "D").Value = .Cells(i, "B").Value & " " & .Cells(i, "C").Value End If Next i End With Application.ScreenUpdating = True End Sub

1 Respuesta

Respuesta
1

Pon la siguiente macro en los eventos de tu hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("B1:C50")) Is Nothing Then
        If Target.Count > 100 Then Exit Sub
        For Each c In Target
            i = c.Row
            If Cells(i, "B") = "" And Cells(i, "C") = "" Then
                Cells(i, "D").Value = ""
            Else
                Cells(i, "D").Value = Cells(i, "B").Value & " " & Cells(i, "C").Value
            End If
        Next
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Listo, cada que modifiques alguna celda del rango B1 a C50, la macro se ejecuta en automático y concatena en la columna D.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas