如何无需鼠标操作复制单元格,确保筛选后值不丢失
解决Excel筛选后复制值不丢失的VBA宏方案
我一直在找一种能完美适配需求的单元格内容复制方法——核心要求就是:
- 工作表筛选或取消筛选后,复制的值不会丢失
- 不用手动选中公式栏来复制值
- 保留F2直接编辑单元格的默认设置(不想修改Excel配置让F2跳转到公式栏)
试过各种操作技巧后,我发现用快捷键触发VBA宏是最理想的解决方案,而且之前没在网上看到过类似的实现,所以特意把方法分享出来:
实现代码
打开Excel的VBA编辑器(按Alt + F11),插入一个新模块,然后粘贴以下代码:
Sub CopyCellValue() ' 复制当前选中单元格的值到剪贴板,不受筛选状态影响 Dim cell As Range Set cell = Selection.Cells(1, 1) ' 将单元格的值存入剪贴板 Dim objData As Object Set objData = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") objData.SetText cell.Value objData.PutInClipboard Set objData = Nothing Set cell = Nothing End Sub
设置快捷键
- 返回Excel主界面,按
Alt + F8打开宏对话框 - 选中
CopyCellValue宏,点击「选项」按钮 - 设置你习惯的快捷键(比如
Ctrl + Shift + C),确认即可
现在只要选中目标单元格,按下设置好的快捷键,就能把单元格的值复制到剪贴板——不管之后怎么切换筛选状态,复制的值都不会丢失,而且全程不用碰公式栏,F2直接编辑单元格的设置也能完全保留。
内容的提问来源于stack exchange,提问作者RugsKid
相关产品推荐
相关产品推荐

