删除包含相同关键字的多个工作表中的多行

Delete multiple rows across multiple sheets containing the same keyword

我有一个 excel 文件,其中包含大约 50 个 sheet,所有 sheet 都有相同的列。

但是,我想删除所有 sheet 中第 6 列/最后一列包含相同关键字 "MARTIN" 的整行。

我曾尝试一次 select 所有 sheet,然后删除行,但它只对一个 sheet 有效。

因此,如果有办法通过 excel 选项或 vba 来做到这一点,我非常乐意听取建议。

谢谢

一个更快的方法是使用快捷方式删除行然后转到下一个 sheet:

假设您要删除第 6 行:

  1. 转到第 6 行并点击 Shift+Space 这将突出显示整行
  2. 删除行Ctrl + -(Ctrl+减号)
  3. 然后从sheet一个到sheet两个你Ctrl + Page Down btn

如果你真的想节省时间并且知道 VBA 你可以创建一个简短的脚本。不幸的是,我正在使用我的 mac,所以我现在不能测试一个,但我找到了一个很好的 link 可以一步一步地给你 here

希望对您有所帮助!

你可以试试:

Option Explicit

Sub test()

    Dim ws As Worksheet
    Dim LastRow As Long, i As Long

    'Loop all sheets
    For Each ws In ThisWorkbook.Worksheets

        With ws
            'Find the last row of column 6
            LastRow = .Cells(.Rows.Count, 6).End(xlUp).Row

            'Loop all rows in column 6 starting from the last one
            For i = LastRow To 1 Step -1
                'If the value is "MARTIN" then delete
                If .Cells(i, 6).Value = "MARTIN" Then
                    .Rows(i).EntireRow.Delete
                End If

            Next i

        End With

    Next ws

End Sub