You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA 如何剪切活动行并粘贴到Activesheet_Archivesheet首空白行

Excel VBA 剪切活动行到归档表实现方案

剪切操作的定位逻辑和你已有的复制逻辑完全通用,只需要将原代码中的Copy方法替换为Cut即可,以下是可直接运行的完整代码:

Sub CutActiveRowToArchive()
    Dim srcSheet As Worksheet
    Dim archiveSheet As Worksheet
    Dim targetNextRow As Long
    
    ' 绑定源工作表、归档工作表
    Set srcSheet = ActiveSheet
    Set archiveSheet = ThisWorkbook.Worksheets("Activesheet_Archivesheet")
    
    ' 校验是否选中整行,避免误操作
    If Selection.EntireRow.Address <> Selection.Address Then
        MsgBox "请选中完整行后再执行操作", vbExclamation
        Exit Sub
    End If
    
    ' 定位归档表下一个空白行(按A列判断,可根据实际调整列号)
    targetNextRow = archiveSheet.Cells(archiveSheet.Rows.Count, "A").End(xlUp).Row + 1
    
    ' 执行剪切粘贴
    Selection.EntireRow.Cut Destination:=archiveSheet.Rows(targetNextRow)
    
    ' 可选:开启后自动删除源表剪切后留下的空行
    ' Selection.EntireRow.Delete Shift:=xlUp
End Sub

常见调整说明

  • 如果你归档表用来判断是否为空的列不是A列,将代码中"A"替换为对应的列号/列名即可
  • 如果你习惯分开写剪切和粘贴语句,也可以用以下写法,效果完全一致:
    Selection.EntireRow.Cut
    archiveSheet.Rows(targetNextRow).PasteSpecial Paste:=xlPasteAll
    Application.CutCopyMode = False ' 清除剪切板
    
  • 剪切操作默认会带走源行的所有格式、公式、数据验证规则,和手动剪切的效果完全一致

内容的提问来源于stack exchange,提问作者stevie.tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 11:45:03