vba - 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 文件中,起初我认为它可以正常工作。然而,经过进一步的测试,它似乎只工作了一半,我不知道为什么。我确保每次测试时都启用宏。什么可能导致它有时起作用,然后在其他时候不起作用?
解决方案
也许更像这样:
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
...只要您不需要复制/粘贴公式
推荐阅读
- html - 获取返回未定义的请求
- sql-server - 在 txt 文件中使用开关 -h-1 时出现转换错误
- angularjs - 如何使用 md-autocomplete 在我的 servlet 上获取 ID 值而不是 displayValue?
- makefile - Makefile ${if ... , ...} 语法
- r - 在堆积图中保持因子水平(ggplot)
- scala - 播放(Scala)配置映射对象
- angular - 为什么 Angular 会更改我的 GET 请求网址
- r - 使用 stringr 的烦恼正则表达式 [下一行查询]
- java - 当片段变得可见时,从 viewpager 中的数据库更新自定义视图
- amp-html - 在 AMP 上提交时如何更改输入提交文本值?