在excel vba中的某个字符串上方插入一个空行

时间:2018-05-24 20:49:56

标签: vba excel-vba excel

我有一个包含多个工作表的工作簿,每个工作表都有不同的产品信息。在每张表的B列中,如果在B列中找到“TOTALS”并且我想将其插入TOTALS行的正上方,则最后一行是我想要插入空白行的总数。

现在代码没有任何问题,但没有任何事情发生。如果您可以将它们合并到一个过程中,我不一定需要调用插入行。

Sub Main()
  Dim ws As Worksheet

  For Each ws In ActiveWorkbook.Worksheets

  Call insert_row


  Next ws

End Sub


Sub insert_row()
Dim r As Long
  For r = 100 To 1 Step -1
    If Cells(r, 2).Value = "TOTALS" Then Rows(r).Insert
  Next r
End Sub

1 个答案:

答案 0 :(得分:1)

您需要使用ws作为子参数。像这样:

Sub Main()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        insert_row ws
    Next ws
End Sub

Sub insert_row(ws As Worksheet)
    Dim r As Long
    For r = 100 To 1 Step -1
        If ws.Cells(r, 2).Value = "TOTALS" Then ws.Rows(r).Insert
    Next r
End Sub