繁体   English   中英

如何使用VBA在Excel中检查列中是否相同的所有数字

[英]How do I check if all numbers if a Columns are identical in excel using VBA

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

我想发生的是,如果F存在除1以外的任何数字,则停止运行宏。 如果F列中的所有数字均为“ 1 ”,则继续运行代码。

我认为问题是“ If WorksheetFunction.CountIf(rng, myNum) = rng.Count Then MsgBox ("All the same!")

您需要按照以下代码重构If块以确定程序流程,并使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM