求VBA按钮实现工作表数据复制粘贴及清除功能的代码
VBA代码实现数据复制与清除需求
以下是满足需求的VBA代码,可通过按钮触发执行:
Sub CopyInputToData() Dim wsInput As Worksheet Dim wsData As Worksheet Dim targetRow As Long ' 绑定目标工作表 Set wsInput = ThisWorkbook.Worksheets("input") Set wsData = ThisWorkbook.Worksheets("Data") ' 按需求复制到Data表A2位置(若需追加到最后一行,注释此行并启用下方两行) wsInput.Range("A5:D14").Copy Destination:=wsData.Range("A2") ' 【可选】若需要每次追加到Data表最后一行而非覆盖A2,启用以下两行 ' targetRow = wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row + 1 ' wsInput.Range("A5:D14").Copy Destination:=wsData.Range("A" & targetRow) ' 清除input表D5:D14区域内容 wsInput.Range("D5:D14").ClearContents End Sub
关键说明
- 代码默认将
input表的A5:D14数据复制到Data表的A2位置,若要避免覆盖已有数据、实现每次追加到Data表最后一行,只需注释掉默认复制行,启用代码中标记为「可选」的两行逻辑。 ClearContents仅清除单元格内容,保留单元格格式,若需要连格式一起清除,可改用Clear方法。- 执行后,
Data工作表的最后可用单元格(粘贴数据的下一行)可直接继续输入内容,不受代码影响。
按钮设置步骤
- 打开Excel的「开发工具」选项卡(未显示的话,到Excel选项→自定义功能区勾选启用)。
- 点击「插入」,选择「表单控件」下的「按钮(表单控件)」。
- 在工作表上绘制按钮,弹出的「指定宏」窗口中选择
CopyInputToData,确认即可。 - 修改按钮显示文本为你需要的内容(比如“同步数据”)。
内容的提问来源于stack exchange,提问作者Ogle Ali
相关产品推荐
相关产品推荐

