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

请求编写VBA宏:实现转置粘贴并删除已复制选中行

实现行转置粘贴并删除原选中行的VBA宏代码

以下是满足需求的VBA宏代码,可直接复制到Excel的VBA编辑器中使用:

Sub TransposeAndDeleteRows()
    Dim sourceRows As Range
    Dim pasteTarget As Range
    
    ' 校验是否选中了目标行
    If TypeName(Selection) <> "Range" Then
        MsgBox "请先选中需要处理的行!", vbExclamation
        Exit Sub
    End If
    
    Set sourceRows = Selection.EntireRow
    
    ' 让用户指定粘贴起始单元格
    On Error Resume Next
    Set pasteTarget = Application.InputBox("请选择粘贴目标的起始单元格:", Type:=8)
    On Error GoTo 0
    
    ' 用户取消操作时退出
    If pasteTarget Is Nothing Then Exit Sub
    
    ' 复制并转置粘贴
    sourceRows.Copy
    pasteTarget.PasteSpecial Paste:=xlPasteAll, Transpose:=True
    
    ' 清空剪贴板,避免后续误操作
    Application.CutCopyMode = False
    
    ' 删除源行
    sourceRows.Delete
End Sub

关键说明:

  • 运行宏前,先选中需要处理的行(支持单行或多行选中)
  • 宏会弹出输入框,让你选择转置粘贴的起始单元格
  • 转置粘贴会保留原数据的格式、公式等全部内容
  • 粘贴完成后自动删除最初选中的源行

使用注意事项:

  • 确保粘贴目标区域有足够空间,避免覆盖已有数据
  • 建议先备份数据再运行宏,防止误操作丢失数据
  • 若选中行包含表头,请谨慎操作,避免误删表头

内容的提问来源于stack exchange,提问作者Ranadip Chandra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:22:06