2016-11-21 2 views
0

J'aimerais pouvoir double-cliquer sur une cellule et renvoyer la valeur/le texte de la cellule dans une autre cellule.Double-cliquez sur la cellule pour renvoyer le contenu de la cellule dans une autre cellule (VBA)

Mon code à ce jour est:

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
If Intersect(Target, Range("E:P")) Is Nothing Then 
Else 
    ActiveCell.Copy Destination:=Sheets("Sheet1").Range("S13") 
End If 
End Sub 

Le problème avec ce code est que je veux le contenu des cellules réelles, pas nécessairement la valeur numérique. Par exemple, dans la cellule E12, j'ai le texte "Completed", mais quand je double-clique sur E12, un "0" est renvoyé dans la cellule S13 et non le texte "Completed".

+1

Semble que votre cellule d'origine contient une formule et que vous souhaitez copier sa valeur et non la formule. Est-ce correct? –

Répondre

3

Je suis d'accord avec A.S.H "votre cellule d'origine contient une formule".

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
    If Not Intersect(Target, Range("E:P")) Is Nothing Then 
     If Target.Cells.Count = 1 then 
      Cancel = True 
      Sheets("Sheet1").Range("S13") = Target.Value 
     End If 
    End If 
End Sub 
+0

Cela fonctionne parfaitement. Je vous remercie! – Darren

+0

Merci d'avoir accepté ma réponse. À votre santé! –

1

Est-ce que cela fonctionne?

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
    If Not Intersect(Target, Range("E:P")) Is Nothing Then 
     Cancel = True 
     Target.Copy Destination:=Sheets("Sheet1").Range("S13") 
    End If 
End Sub 
+1

Je n'aurais pas pensé à utiliser 'Cancel = True'. + 1Kudos –