如何在单元格输入指定值时自动复制对应数据区域
你需要的功能可以通过Excel VBA的工作表变更事件实现,操作步骤如下:
- 按下
Alt + F11快捷键打开VBA编辑器,在左侧「项目-VBAProject」面板找到你要设置功能的工作表,双击打开该工作表的代码编辑窗口。 - 将下方代码粘贴到编辑窗口中:
Private Sub Worksheet_Change(ByVal Target As Range) ' 判断修改的单元格是否为指定的C3 If Target.Address = "$C$3" Then ' 判断C3输入的数值是否为1 If Target.Value = 1 Then ' 需求为复制则保留下行代码,执行复制操作 Range("A14:B17").Copy Destination:=Range("A5:B8") ' 若需要实现移动效果(原区域内容清除),注释上面一行,取消下面两行的注释即可 ' Range("A14:B17").Cut Destination:=Range("A5:B8") ' Application.CutCopyMode = False End If End If End Sub
- 关闭VBA编辑器,将文件保存为
*.xlsm格式(启用宏的工作簿),后续打开文件时允许宏运行即可生效。
示例场景示意图:
内容的提问来源于stack exchange,提问作者CheeHL
相关产品推荐
相关产品推荐

