Below is my code
Sub DeleteUneccessarySerial()
Dim rng As Range
Dim myNum As Long
myNum = 1
Set rng = Range("F:F")
Columns("A:I").Sort key1:=Range("I:I"), order1:=xlAscending, Header:=xlYes
Range("$A1:I200").AutoFilter Field:=9, Criteria1:="Checked"
If WorksheetFunction.CountIf(rng, myNum) = rng.Count Then MsgBox ("All the same!")
Range("A:B,F:F,G:H").Delete
End Sub
如果 中存在除 1 以外的任何数字,我希望停止运行宏。专栏
F
.如果 中的所有数字都是“ 1 ”专栏 F
而不是继续运行代码。我认为问题是下面的最后一段代码
“
If WorksheetFunction.CountIf(rng, myNum) = rng.Count Then MsgBox ("All the same!")
”
最佳答案
你需要重组你的If
block 来确定程序流程,并使用Exit Sub
按照以下代码退出该过程:
Sub DeleteUneccessarySerial()
Dim rng As Range
Dim myNum As Long
myNum = 1
Set rng = Range("F:F")
Columns("A:I").Sort key1:=Range("I:I"), order1:=xlAscending, Header:=xlYes
Range("$A1:I200").AutoFilter Field:=9, Criteria1:="Checked"
If WorksheetFunction.CountIf(rng, myNum) = rng.Count Then
MsgBox ("All the same!")
Exit Sub
End If
Range("A:B,F:F,G:H").Delete
End Sub
关于vba - 如果使用VBA在excel中的列相同,我如何检查所有数字是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47803961/