我有一个双击事件,我希望它能保存某个范围的副本。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A3:A25, A29:A34, A36:A40, F3:F14, F18:F21, F25:F26, F3:F32, F36:F37, K3:K22, K26:K40, P3:P22")) Is Nothing Then
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 3)).Copy
End If
End Sub
当我点击其中一个范围时,我可以看到复制高亮显示快速消失并消失。我如何把它拿到剪贴板上?理想情况下,我希望能够在下一次双击事件中粘贴此范围。
答案 0 :(得分:3)
试试这个:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, _
Range("A3:A25, A29:A34, A36:A40, F3:F14, F18:F21, F25:F26, F3:F32, F36:F37, K3:K22, K26:K40, P3:P22")) Is Nothing Then
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 3)).Select
End If
Selection.Copy
End Sub
我测试了它并且它有效。 :d
编辑1:这也有效
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = False
If Not Intersect(Target, _
Range("A3:A25, A29:A34, A36:A40, F3:F14, F18:F21, F25:F26, F3:F32, F36:F37, K3:K22, K26:K40, P3:P22")) Is Nothing Then
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 3)).Copy
Else
Application.CutCopyMode = False
End If
Cancel = True
End Sub