gpt4 book ai didi

excel - 在excel中复制粘贴操作时禁用格式

转载 作者:行者123 更新时间:2023-12-04 21:06:55 25 4
gpt4 key购买 nike

我使用以下代码在单元格复制粘贴操作时禁用格式化-

Private Sub Worksheet_Change(ByVal Target As Range)
With Application
.EnableEvents = False
myValue = Target.Formula
.Undo
Target.Formula = myValue
.EnableEvents = True
End With
End If
Application.CutCopyMode = False
End Sub

代码工作完美,但它在工作表中插入了许多其他问题。
  • 无法使用撤消/重做功能
  • 无法通过单击更改单元格的焦点。

  • 任何想法将不胜感激。

    最佳答案

    本质上,您想禁止标准粘贴,并可能用粘贴特殊/值替换它

    您可以捕获粘贴功能并分配一条消息,告诉用户使用选择性粘贴/值,例如

    ....
    ' place this in any suitable event trigger like
    Application.CommandBars("Edit").Controls("Paste").OnAction = "TrappedPaste"
    ....

    Sub TrappedPaste()
    MsgBox "Your Paste is performed as PasteSpecialValues", vbOKOnly, "Paste"

    ' ok, now silently do a PasteSpecial/Values
    On Error GoTo TryExcel
    ' try to paste text
    ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
    Exit Sub
    TryExcel:
    On Error GoTo DoesntWork
    Selection.PasteSpecial xlPasteValues
    Exit Sub
    DoesntWork:
    MsgBox "Sorry - wrong format for pasting", vbExclamation + vbOKOnly, "Paste Problem"
    End Sub

    小心...这不适用于所有语言,因此对于国际应用程序,我们需要更加微妙
    If ExistControl("Edit", 22) Then Application.CommandBars("Edit").FindControl(ID:=22).OnAction = "TrappedPaste"

    并且应用程序中有更多地方可以让用户获得“粘​​贴”,您需要将它们全部捕获。

    如果您喜欢这种方法,我可以进一步详细说明。

    关于excel - 在excel中复制粘贴操作时禁用格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12527059/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com