Posicionarse en la celda de la columna A de una fila seleccionada

Tengo una macro que cuando pincho en cualquier celda de la columna A de una hoja me copia el valor de dicha celda y me lo lleva a otro sitio. Funciona perfectamente (gracias luismondelo!), pero tengo un problema, que cuando en vez de pinchar en la celda de la columna A selecciono toda la fila también salta la macro pero mal, por lo que mi pregunta es: ¿Cómo hago para que al iniciar la macro lo que haga sea primero posicionarse en la celda A de la fila seleccionada?

1 Respuesta

Respuesta
1

H o l a:

Este es el código para seleccionar solamente una celda de la columna A, si es que seleccionaste todo una fila.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then
        For Each c In Target.Columns
            If c.Column = 1 Then
                Application.EnableEvents = False
                c.Cells(1, 1).Select
                Application.EnableEvents = True
                Exit For
            End If
        Next
    End If
    '
    'En esta parte va el código que tienes
    If Target.Column = 1 Then
        Selection.Copy Range("B2")
    End If
End Sub

Pero tendrías que adaptar el código que ya tienes a lo nuevo.

O escribe el código que tienes y le adapto la macro.

Hola Dante, muchas gracias lo primero

Ahora tengo escrito en el vba de la hoja donde al pinchar en el rango A3:A1200 ejecuta la macro "Macro_seleccionar:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A3:A1200")) Is Nothing Then
Macro_seleccionar
End If

End Sub

pero el problema viene cuando pincho en toda la fila en vez de en alguna celda del rango A3:A1200 no hace lo que quiero.

Cambia tu macro por esta:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A3:A1200")) Is Nothing Then
        Application.EnableEvents = False
        Target.Cells(1, 1).Select
        Application.EnableEvents = True
        Macro_seleccionar
    End If
End Sub

Prueba y revisa si es lo que necesitas.

Si no te funciona, entonces tendrías que poner también el el código de macro_seleccionar para adaptar todo el código

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas