我试图写一个脚本,它将循环浏览我的工作簿中的工作表,并在 "检测到"、"未检测到 "和 "其他 "字符串下的单元格为空时删除工作表。如果在这三个字符串中的任何一个下面输入了什么,工作表就不应该被删除。
我有一些代码(如下),如果某个特定的单元格是空的,就会删除工作表,但我需要集成一个片段来FIND这三个字符串中的任何一个(如果它们在那里,它们将在A列中),并偏移这一点来检查下面的单元格是否为空。
Sub DeleteEmptyWorksheets()
Dim MySheets As Worksheet
Application.DisplayAlerts = False
For Each MySheets In ActiveWorkbook.Worksheets
If MySheets.Range(“A1”) = “” Then
MySheets.Delete
End If
Next
Application.DisplayAlerts = True
End Sub
这个脚本将用于处理COVID19的测试结果,如果你能帮忙,那将是额外的业力点!!!。
谢谢你。
这里有一段代码,应该可以帮助你。
Sub DeleteEmptyWorksheets()
Dim MySheets As Worksheet
Dim rngTest As Range
Dim arTest
Dim blNBFound As Boolean
arTest = Array("detected", "not detected", "other")
Application.DisplayAlerts = False
For Each MySheets In ActiveWorkbook.Worksheets
blNBFound = False
For i = LBound(arTest) To UBound(arTest)
Set rngTest = MySheets.Range("A:A").Find(arTest(i))
If Not rngTest Is Nothing Then
If Len(rngTest.Offset(1, 0)) > 0 Then
blNBFound = True
Exit For
End If
End If
Next i
If blNBFound = False Then MySheets.Delete
Next
Application.DisplayAlerts = True
End Sub