删除包含相同关键字的多个工作表中的多行
Delete multiple rows across multiple sheets containing the same keyword
我有一个 excel 文件,其中包含大约 50 个 sheet,所有 sheet 都有相同的列。
但是,我想删除所有 sheet 中第 6 列/最后一列包含相同关键字 "MARTIN"
的整行。
我曾尝试一次 select 所有 sheet,然后删除行,但它只对一个 sheet 有效。
因此,如果有办法通过 excel 选项或 vba 来做到这一点,我非常乐意听取建议。
谢谢
一个更快的方法是使用快捷方式删除行然后转到下一个 sheet:
假设您要删除第 6 行:
- 转到第 6 行并点击
Shift+Space
这将突出显示整行
- 删除行
Ctrl + -
(Ctrl+减号)
- 然后从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
我有一个 excel 文件,其中包含大约 50 个 sheet,所有 sheet 都有相同的列。
但是,我想删除所有 sheet 中第 6 列/最后一列包含相同关键字 "MARTIN"
的整行。
我曾尝试一次 select 所有 sheet,然后删除行,但它只对一个 sheet 有效。
因此,如果有办法通过 excel 选项或 vba 来做到这一点,我非常乐意听取建议。
谢谢
一个更快的方法是使用快捷方式删除行然后转到下一个 sheet:
假设您要删除第 6 行:
- 转到第 6 行并点击
Shift+Space
这将突出显示整行 - 删除行
Ctrl + -
(Ctrl+减号) - 然后从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