专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
Excel之家ExcelHome  ·  COUNTIF函数的几个典型用法 ·  17 小时前  
Excel之家ExcelHome  ·  VLOOKUP出错的几个常见原因 ·  昨天  
完美Excel  ·  Excel日期计算技巧 ·  4 天前  
Excel之家ExcelHome  ·  合并单元格求和、计数、加序号 ·  4 天前  
Excel之家ExcelHome  ·  用Power BI选对图表,讲好数据 ·  4 天前  
51好读  ›  专栏  ›  完美Excel

阻止在Excel VBA中清除剪贴板

完美Excel  · 公众号  · Excel  · 2025-01-16 05:49

正文

学习Excel技术,关注微信公众号:
excelperfect

标签:VBA

通常,运行宏会清除撤消列表,无法撤消宏所执行的操作。并且,某些宏还会清除剪贴板,这会阻止复制和粘贴。

假设希望Excel在每次所选区域变化时重新计算,在相应工作表模块中可能会有如下事件代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) CalculateEnd Sub

如果之前进行过复制操作,上述宏会清除剪贴板并停止粘贴。要处理这种情况,可以在运行Calculate(计算)命令之前检查剪贴板的状态。可以使用CutCopyMode设置来实现。如果将该属性值设置为零,则意味着剪贴板为空,就可以运行Calculate(计算)命令。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Application.CutCopyMode = 0 Then CalculateEnd Sub

这里讲的技巧唯一问题是当使用Ctrl+v或右键单击进行粘贴时,它们不会清除剪贴板,因此上述宏将不会运行,因为剪贴板上仍有内容。必须按Esc键清除剪贴板,然后宏将再次开始运行。当然,如果复制并按Enter键粘贴,则会自动清除剪贴板。

注:本文学习整理自a4accounting.com.au,供参考。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

推荐文章
Excel之家ExcelHome  ·  COUNTIF函数的几个典型用法
17 小时前
Excel之家ExcelHome  ·  VLOOKUP出错的几个常见原因
昨天
完美Excel  ·  Excel日期计算技巧
4 天前
Excel之家ExcelHome  ·  合并单元格求和、计数、加序号
4 天前
Excel之家ExcelHome  ·  用Power BI选对图表,讲好数据
4 天前
雅客先生  ·  PPT文字太多,要怎么排版就好看
7 年前