Macro para copiar contenido celda con un click

Tovpz quisiera que me ayudaras con una macro para hacer lo siguiente.
En la hoja 2 tengo un listado de productos columna a esta el código y columna b el producto. Lo que quiero hacer es que cuando de click en el código de la hoja2 este pase por ejemplo a la celda a1 de la hoja 1.
Lo he estado intentando y le puse hipervínculo a los códigos pero no se como hacer para que me pacen a la hoja1 celda1
gracias por tu ayuda
1

1 respuesta

Respuesta
1
Puedes hacerlo mediante un código de VBA, este lo colocas en el evento Change del Worksheet.
Es decir, das clic derecho sobre el nombre de la hoja donde está el dato original, y sobre este menú seleccionas Ver Código, allí pegas lo que te estoy enviando.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

     If Target.Address = "$A$1" Then
         Sheets("HojaNueva").Range("A1").Value = Target

     End If
End Sub

Te explico, lo que hace es lo siguiente. Cuando das clic sobre alguna celda de la hoja donde has pegado este código, se ejecuta el evento SelectionChange, si la dirección de la celda que se seleccionó es igual a A1, entonces el valor de esa celda se pasará al Rango A1, de la hoja llamada HojaNueva.
La idea entonces es que reemplaces el nombre de la hoja y el rango de acuerdo con tu necesidad y pruebes para ver si te funciona.
Tavopz, me funciona bien pero para una sola celda, y no hallo la forma de adaptarlo para que me copia los datos de un listado, como lo haría por ejemplo si el rango de los códigos es a1:a10. Y lo otro seria si funciona si le pongo un nombre a este rango, de nuevo mil gracias,
Podría ser algo así:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim c As Range
    i = 1
    If Target.Count > 1 Then
         For Each c In Target
             Sheets("Sheet2").Range("A" & LTrim(Str(i))).Value = c.Value
             i = i + 1
         Next c
     Else
         Sheets("Sheet2").Range("A1").Value = Target
     End If
End Sub

Sin embargo, deberías tener mucho cuidado con el uso de tu hoja, porque cada que selecciones un rango esta información seleccionada se movería a la otra hoja.

Añade tu respuesta

Haz clic para o