VBA的新手。我在尝试自动从已双击的单元格中复制文本时遇到问题。我已经尝试了所有方法,但是显然有些错误。任何帮助将不胜感激。
我在ThisWorkbook中的代码:
Option Explicit
Dim MyData As DataObject
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = False
Set MyData = New DataObject
MyData.SetText Target.Text
MyData.PutInClipboard
Cancel = True
End Sub
答案 0 :(得分:0)
看起来应该可以正常工作(假设您对Microsoft Forms 2.0对象库有引用)。但是当我尝试时,我得到的只是几个方形字符。如果我删除了Cancel = True
行,那么它可以正常工作,但可能不是您想要的。
不知道为什么它不能与Cancel = True
一起使用,但是经过一番尝试,似乎还是行得通的:
Option Explicit
Dim MyData As DataObject
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = False
Set MyData = New DataObject
Target.Copy
MyData.GetFromClipboard
Application.CutCopyMode = False
MyData.PutInClipboard
Cancel = True
End Sub