制作发票工作表时如何仅复制数值而非公式到其他工作表
仅复制发票工作表数值(排除公式)的解决方案
手动操作(适合单次归档)
- 选中发票工作表中需要归档的所有字段单元格区域
- 按快捷键
Ctrl+C(Mac系统为Command+C)执行复制,也可以右键选中区域选择「复制」 - 切换到目标存档工作表,点击需要粘贴的起始单元格
- 右键点击目标单元格,在粘贴选项中选择仅粘贴数值(图标通常为标注「123」的剪贴板样式),即可完成粘贴,所有公式会被替换为最终计算结果,不会触发公式报错
- 也可以使用快捷键
Ctrl+Alt+V调出「选择性粘贴」窗口,勾选「数值」选项后点击确定,效果一致
自动批量操作(适合高频生成发票的场景)
如果需要每次生成发票后自动归档,可通过VBA宏实现一键操作:
- 按
Alt+F11打开VBA编辑器,右键点击当前工作簿名称,选择「插入」-「模块」 - 在模块编辑窗口粘贴如下代码,根据注释修改为你实际的工作表名称、数据范围:
Sub 发票数据归档() ' 替换为你的发票工作表、存档工作表实际名称 Dim wsInvoice As Worksheet, wsRecord As Worksheet Set wsInvoice = ThisWorkbook.Worksheets("发票") Set wsRecord = ThisWorkbook.Worksheets("发票存档") ' 替换为你的发票实际数据范围 wsInvoice.Range("A1:Z100").Copy ' 自动将数据追加到存档表最后一行的下一行 wsRecord.Cells(wsRecord.Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues ' 清空剪贴板 Application.CutCopyMode = False End Sub
- 将工作簿保存为
.xlsm格式(启用宏的工作簿),后续每次生成发票后运行该宏即可自动完成数值归档,无需手动操作
小提示:如果需要同时保留发票的原有排版格式,可在粘贴时选择「数值和源格式」选项,同样不会带入公式
内容的提问来源于stack exchange,提问作者Bala Murali
相关产品推荐
相关产品推荐

