修改“粘贴”以仅允许值而无需右键单击

时间:2014-02-13 14:48:20

标签: excel vba excel-vba

我正在寻找一个可以帮助我更快地复制粘贴材料的宏。我经常发现自己复制文本或数字( Ctrl + C ),当我想将其粘贴到Excel中的单元格时,我需要右键单击并选择过去的值。

我会尝试写一个我正在追求的故障的例子:

Sub PasteValuesOrText()

Dim DataObj As New MSForms.DataObject
DataObj.GetFromClipboard
myString = DataObj.GetValue
ActiveCell.Value = myString

End Sub

2 个答案:

答案 0 :(得分:0)

这至少可以让你双击复制,是你编码的开始。

Private Sub WorkSheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Copy
Cancel = True
End Sub

答案 1 :(得分:0)

我认为您正在寻找能够粘贴特殊内容而无需额外点击的内容。以下宏将采用已经复制的内容,只需在所选单元格中粘贴值。

有一点需要注意的是,通过这样做,您将失去撤消功能。

Sub Paste_Values()
    Selection.PasteSpecial _
        Paste:=xlPasteValues, _
        Operation:=xlNone, _
        SkipBlanks:=False, _
        Transpose:=False
    Application.CutCopyMode = False
End Sub