Si no intersección en varias columnas

Resuelto
¡Buenas noches, foro!

En una macro, quiero activar un comando solo en ciertas columnas.
Aquí de ejemplo, en las columnas A y B, el comando es un Msgbox.

Sub Mamacro()
Dim rng As Range
With ActiveSheet
Set rng = Union(Columns("A:A"), Columns("C:C"))
If Not Intersect(Target, rng) Is Nothing Then
Msgbox("Match")
End If
End With
End Sub


Pero Excel muestra su desacuerdo con un vil 'Error 424, objeto requerido'.

¿Puedo pedirles un poco de ayuda sobre mi error, por favor?
Gracias de antemano

Configuración: Windows / Excel 365

4 respuestas

  1. Buenas noches touroul

    No entiendo la utilidad de tu If ...
    No es necesario usar una condición, si quieres reemplazar los puntos únicamente en las columnas A y C, basta con seleccionarlas con Union y aplicar el reemplazo a la selección
     Union(Columns("A:A"), Columns("C:C")).Select Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Saludos
    Vía

    --
    "La imaginación es más importante que el conocimiento." A. Einstein
    1. Bonjour Le Pivert

      Gracias por tu respuesta.
      He corregido mis comillas mal colocadas.
      Sin embargo, todavía no es eso.

      Mi macro se lanza desde un botón y no en Worksheet_SelectionChange.
      Esto es lo que da: (de hecho, la macro reemplaza los puntos por comas en las columnas pertinentes) :

      Sub Mamacro() 
      With ActiveSheet
      If Not Application.Intersect(Target, Range("A:A,C:C")) Is Nothing Then
      Cells.Replace What:=".", Replacement:=".", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
      End If
      End With
      End Sub


      Sigue 'Error 424, objeto requerido"

      Gracias por lo que sigue :)
      1. Buenas noches Via

        ¡Sí y sí! Perdón, me he pasado, no supe mirar eso de manera simple.
        Ese era el objetivo.

        Muchas gracias a ti y a LePivert por su ayuda.
        Que tengas una buena noche.