Como hago para copiar i pegar con un doble click sobre una celda qualquiera
ejemplo:
Tengo que copiar una celda qualquiera de un listado i pegarlo a una celda determinada de otra hoja excel.
os agradecere que me ayudeis, estoy perdido.
gracias
//-->
Como hago para copiar i pegar con un doble click sobre una celda qualquiera
ejemplo:
Tengo que copiar una celda qualquiera de un listado i pegarlo a una celda determinada de otra hoja excel.
os agradecere que me ayudeis, estoy perdido.
gracias
lo único que se me ocurre es utilizar el evento antes del doble clic de la hoja (no hay un evento doble clic)
Este evento está en la hoja, así que el código tendría que estar en la hoja de destino, donde vas a hacer doble clic.
para que el doble clic no active la edición de la celda, que es lo que hace por defecto, cancelaremos con Cancel=true
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True 'para no activar el modo edición de la celda
Target.PasteSpecial xlPasteAll 'pegamos en la celda selecionada
End Sub
Aquí tienes otro truco que intercepta el evento doble clic de la aplicación. Está copiado/adaptado de http://excelexperts.com/VBA-Tips-Double-Click este puede ser más interesante, porque el código puedes colocarlo en cualquier lugar, no tiene por qué estar en la hoja. Tiene una macro para activar y otra para desactivarlo. simplemente asocia el evento dobleclic de Excel a una macro
Sub IniciarPegarConDobleClic()
Application.OnDoubleClick = "PegarConDobleClic"
End Sub
Sub FinalizarPegarConDobleClic()
Application.OnDoubleClick = ""
End Sub
Sub PegarConDobleClic()
On Error Resume Next
Selection.PasteSpecial
End Sub
------
Ya sé Excel, pero necesito más.
Lo he probado pero no me sale.
lo he resuelto parcialmente en la hoja Excel que os mando. Aunque de esta manera no puedo hacer más operaciones en la hoja de las que ya estén establecidas.
Seguro que se puede mejorar.
gracias.
Hola
Parece bastante correcto tu código. Hace exactamente lo que quieres que haga.
Podrías mejorarlo en los siguientes aspectos:
Dim VALOR
VALOR = Selection.value
Sheets("Hoja2").Select
Cells(4,8).select 'Por ejemplo, la celda H4
Selection.Value = VALOR
Un saludo