首页 > 解决方案 > Excel 宏有时有效,有时无效

问题描述

我没有 VBA 经验,但需要能够在不更改格式的情况下粘贴到单元格中。我在这里的一个线程中找到了这个脚本:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    If Application.CutCopyMode = xlCopy Then

        Application.EnableEvents = False

        Application.Undo
        Target.PasteSpecial Paste:=xlPasteValues

        Application.EnableEvents = True

    End If

End Sub

我将此宏添加到我的 excel 文件中,起初我认为它可以正常工作。然而,经过进一步的测试,它似乎只工作了一半,我不知道为什么。我确保每次测试时都启用宏。什么可能导致它有时起作用,然后在其他时候不起作用?

标签: vbaexcel

解决方案


也许更像这样:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    Dim val

    If Application.CutCopyMode = xlCopy Then
        val = Target.Value
        Application.EnableEvents = False
        Application.Undo
        Target.Value = val
        Application.EnableEvents = True
    End If

End Sub

...只要您不需要复制/粘贴公式


推荐阅读