【发布时间】:2016-12-01 21:25:15
【问题描述】:
我已经对此主题进行了大量研究,但到目前为止还没有运气。 我有中等的编程经验。
也就是说,我的问题是关于从列中读取数据并在某些文本被读取 47 次时删除工作表。
在“L”列中,文本(“n/m”)重复了 47 次。文本始终从第 14 行开始,一直持续到第 70 行。在该范围内有 空格 和 “--------”
如果该列有 47 个“n/m”,那么可以删除工作表,并且它有对包含大约 40 到 100 个工作表的整个工作簿应用/重复。
我的代码:
第一次尝试失败
Sub DeletingBlankPages()
Dim Ws As Worksheet
Dim nm As Range
Set nm = Ws.Range(Columns("12"))
Application.ScreenUpdating = False
For Each Ws In ActiveWorkbook.Worksheets
nm.Select
If nm Is "n/m" Then
Application.DisplayAlerts = False
Ws.Delete
Application.DisplayAlerts = True
End If
Next Ws
End Sub
第二次尝试还是不行
Sub DeleteRowBasedOnCriteria()
Dim Ws As Worksheet
For Each Ws In ActiveWorkbook.Worksheets
Application.DisplayAlerts = False
If Range(Columns("12")).Value < 47 > "n/m" _
Then _
Ws.Delete
Application.DisplayAlerts = True
End If
Next Ws
End Sub
如果有经验的人知道如何解决这个问题,请回复。 谢谢
【问题讨论】:
-
您的意思是如果在 L 列的 47 个或更多单元格中找到“n/m”,您要删除工作表吗?单元格是否包含“n/m”以外的文本?我原以为你可以在 VBA 中使用 COUNTIF 函数。
-
是的,没错
标签: excel multiple-columns worksheet-function worksheet vba