【问题标题】:VBA Loop cut/paste/skipVBA循环剪切/粘贴/跳过
【发布时间】:2020-10-23 15:11:14
【问题描述】:

对 VBA 和宏非常陌生。希望构建一个宏来剪切 G2:H2 中的项目,将它们粘贴到 I2:J2 中,跳到下一个偶数行,剪切这些项目 (G4:H4),将它们粘贴到 I4:J4 中,依此类推直到电子表格结束。该电子表格大约有 11200 行可供排序。非常感谢任何帮助!

Sub TotalMove()
'
' TotalMove Macro

a = 2
g = Sheet17.Cells(Rows.Count, "A").End(xlUp).Row

For a = 2 To g Step 2

    Range("G2:H2").Select
    Selection.Cut
    Range("I2:J2").Select
    ActiveSheet.Paste
  
Next a

End Sub

【问题讨论】:

  • 所以这是一个直接的循环,您的Step = 2。如何循环在此处*和许多其他地方*都有详细记录。简而言之,有足够的资源让你开始做这件事。做研究,尝试自己写这篇文章,然后当你对你的尝试有一个特定的问题/问题时回到这里。请务必分享您的代码和问题 :)
  • @urdearboy 感谢您的回复。这是我当前的代码。截至目前,它卡在循环遍历原始的两个单元格Sub TotalMove() ' ' TotalMove Macro a = 2 g = Sheet17.Cells(Rows.Count, "A").End(xlUp).Row For a = 2 To g步骤 2 Range("G2:H2").Select Selection.Cut Range("I2:J2").Select ActiveSheet.Paste Next a End Sub
  • 你最好发一个新帖子。确保将您的代码添加到问题中,而不是在 cmets 中。你浏览过这个网站寻找答案吗?如果是这样,您可能会注意到所有问题在帖子中都有代码,而不是评论......
  • @urdearboy 非常感谢您在这里帮助我。我刚刚编辑了问题,但看起来版主已经关闭了问题,我现在无法在 3 天内发布新问题。非常感谢这里的任何帮助。
  • 我投票决定重新开放,但现在等待其他人。始终共享您的代码,以免发生这种情况-否则您是在要求人们为您完成工作。你也比你想象的更接近,所以从零开始会浪费大家的时间

标签: excel vba loops


【解决方案1】:

你几乎拥有它,只是在循环中使用你的行号。

我使变量名称在演示中显而易见,设置值而不是复制粘贴,并在范围内指定工作表。

Sub TotalMove()

With Sheet17
    StartRow = 2
    EndRow = .Cells(Rows.Count, "G").End(xlUp).Row
    
    For CurrentRow = StartRow To EndRow Step 2
        .Range("I" & CurrentRow & ":J" & CurrentRow) = .Range("G" & CurrentRow & ":H" & CurrentRow).Value
        .Range("G" & CurrentRow & ":H" & CurrentRow).Clear
    Next CurrentRow
End With

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    相关资源
    最近更新 更多