【问题标题】:Macro to Insert Row after Certain text在某些文本后插入行的宏
【发布时间】:2015-02-10 15:33:21
【问题描述】:

全部。 我在上一篇文章中找到了一个解决了我大部分问题的解决方案。我只是需要一些帮助来扩展它。发布了以下宏(并且我已经为我的应用程序对其进行了修改)以在文本“CC Total”出现后添加一行。我需要这个宏在“CC Total”和文本“Sum Total”之后添加一行。如何将第二个条件添加到命令中?

 Dim Col As Variant
    Dim BlankRows As Long
    Dim LastRow As Long
    Dim R As Long
    Dim StartRow As Long

        Col = "A"
        StartRow = 1
        BlankRows = 1

            LastRow = Cells(Rows.Count, Col).End(xlUp).Row

            Application.ScreenUpdating = False

            With ActiveSheet
    For R = LastRow To StartRow + 1 Step -1
    If .Cells(R, Col) = "CC Total" Then
    .Cells(R + 1, Col).EntireRow.Insert Shift:=xlUp
    End If
    Next R
    End With
    Application.ScreenUpdating = True

【问题讨论】:

  • 谢谢。让命令插入多于 1 行有多难?

标签: text macros insert row


【解决方案1】:

下面一行是这里的关键:

If .Cells(R, Col) = "CC Total" Then

要添加额外的条件,您可以这样做

If .Cells(R, Col) = "CC Total" Or .Cells(R, Col) = "SUM Total" Then

或者,为了让更多标准更易于访问:

If .Cells(R, Col) = "CC Total" Then
    ....
ElseIf .Cells(R, Col) = "SUM Total" Then
    ....
etc
End if

【讨论】:

  • 第一个建议有效,但第二个无效。它在“总计”之后添加了行,但没有在“cc总计”之后添加。我应该用什么来代替 ElseIF 吗?我将使用第一个建议,我只是在徘徊第二个以供将来参考。谢谢。
  • 嗯,你有没有调试过你的代码和/或循环它,直到你遇到“CC Total”?此外,检查if..then..else 语句语法以排除任何拼写错误。
  • 感谢您的帮助。我会试试的。
猜你喜欢
  • 2019-08-24
  • 2019-10-01
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
相关资源
最近更新 更多