Activar una celda y devolver el contenido de otra celda al portapapeles

Mi problema es el siguiente:

En la Hoja 1 tengo unos códigos, en la columna E

En la Hoja2 tengo esos mismos códigos en la columna B y otros textos asociados en la columna C.

Cuál será la macro para que cuando se seleccione una celda cualquiera de la columna E de la Hoja1, se seleccionará y colocará en el portapapeles el contenido asociado de la columna C, de la Hoja2,

Gracias de antemano por su ayuda

1 Respuesta

Respuesta
1

Prueba con el siguiente código, que va en el módulo de Hoja1 (pulsación con el botón derecho sobre su etiqueta->ver código):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Application.Intersect(Target, Me.) Is Nothing Then Exit Sub
    Dim dtDt As DataObject
    Set dtDt = New DataObject
    DtDt. SetText Worksheets("Hoja2"). Cells(Target. Row, 3)
    DtDt. PutInClipboard
End Sub

Si no hay ningún formulario en el libro habrá que establecer una referencia (Herramientas->Referencias en el editor VBA) a la librería Microsoft Forms 2.0 Object Library.

A pesar de haber añadido la librería, se da error de complicación

Es que no se pegó bien el código, a ver ahora:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If Application.Intersect(Target, Me.[E:E]) Is Nothing Then Exit Sub    
     Dim dtDt As DataObject
     Set dtDt = New DataObject
     DtDt. SetText Worksheets("Hoja2"). Cells(Target. Row, 3)
     DtDt. PutInClipboard
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas