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

Excel宏修改需求:按间隔复制行后需正向排列而非反向

解决Excel宏按间隔复制后反向横向排列的问题

你当前的宏代码会将每段96行数据插入到Sheet3的最左侧,导致最早的B1:B96最终被挤到最右侧,呈现反向排列。要实现从B1到B2784的正向横向排列,只需调整粘贴位置的逻辑,按顺序将每段数据粘贴到对应的列即可:

Sub Daily_Separation()
    Dim colNum As Integer
    Application.ScreenUpdating = False
    colNum = 1 ' 起始粘贴列
    
    For x = 1 To 2784 Step 96
        ' 复制Separation表中从第x行开始的96行B列数据
        ThisWorkbook.Sheets("Separation").Cells(x, 2).Resize(96, 1).Copy
        ' 粘贴到Sheet3的第colNum列,逐列向右排列
        ThisWorkbook.Sheets("Sheet3").Cells(1, colNum).PasteSpecial Paste:=xlPasteAll
        colNum = colNum + 1 ' 列数自增,准备下一段粘贴
    Next x
    
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
End Sub

修改说明

  • 新增colNum变量记录当前粘贴的列位置,初始为1(即A列)
  • 每次循环后列数自增,确保下一段数据粘贴到右侧相邻列
  • 替换原有的Insert Shift:=xlToRight为直接粘贴到指定列,避免插入操作导致的顺序反转

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 16:15:42