vba - 如果使用VBA在excel中的列相同,我如何检查所有数字是否相同

标签 vba excel

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/

相关文章:

vba - 将工作表的副本存储在工作表变量中

java - 读取多个 excel 表 selenium-webdriver、java、eclipse

vba - 如何在 Outlook.AppointmentItem 中设置 Recipients 属性?

Excel VBA - 始终在打开时显示工作表

ms-access - Access.Application.Eval() 的奇怪行为

excel - VBA:方法中括号的使用

vba - 工作表名称是一个数字,我如何在vba中调用它?

vba - 使用公共(public)列合并两个 Excel 文件

vba - ListObject.DataBodyRange.SpecialCells(xlCellTypeVisible).Rows.count 返回错误值

string - 两个变量作为单元格引用