清除第1-34行数据后,如何自动将第35行数据移至B4单元格?
VBA实现清除指定区域后移动行数据到目标位置
你的需求是清除B4:J34的内容后,把第35行(显示标注为32)的对应列数据移到B4,修改原代码即可实现,以下是调整后的代码:
Private Sub ClearContents_Click() ' 清除B4至J34的单元格内容 Range("B4:J34").ClearContents ' 将第35行的B-J列数据复制到B4起始位置 Range("B35:J35").Copy Destination:=Range("B4") ' 可选:复制完成后清空原35行的对应内容(按需启用) ' Range("B35:J35").ClearContents End Sub
关于你之前尝试的错误写法
Rows.Delete Range("4:34") 语法错误,正确的删除行写法是 Rows("4:34").Delete,但这和你的需求不符——你要的是清除内容而非删除行,所以用ClearContents才是正确的操作。
注意事项
如果你说的“第35行(标注为32)”是因为工作表隐藏了部分行,导致显示的行号是32但实际是第35行,直接用上面的代码即可;如果是要移动显示行号为32的那一行,把代码里的Range("B35:J35")替换成Range("B32:J32")就行。
内容的提问来源于stack exchange,提问作者Ayon
相关产品推荐
相关产品推荐

