如何在Excel VBA / Macro中处理CTRL-V?

时间:2019-02-11 09:44:12

标签: excel vba

我有一个VBA宏,每次在A列(Workbook_SheetChange)的单元格中输入一个值时,该宏就会启动。

某些用户将多个单元格或整行或整行的多行粘贴到工作表中,以使他们更轻松(CTRL-V)。

如果粘贴了整个行,​​则宏将失败,有时整个VBA_engine会损坏,用户需要重新启动Excel。

我想按CTRL-V之后但在将内容粘贴到单元格之前禁用VBA代码的方式来处理粘贴(CTRL-V)。然后,将启动VBA代码。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

问题在于编写Worksheet_Change事件的人没有使其处理多个单元格中的更改。无论何时选择多个单元格,都可以重写它或确保退出事件:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub

    'rest of the code here

End Sub