Excel VBA如果包含字母则删除行

时间:2016-03-21 14:15:45

标签: excel vba excel-vba

所以我有一组数据,最后有各种数字和字母 在例子中将是

233423528535A
3453453453945
234234235532C
3453453455345
234234238964D
3453453453234
656234234534G
346364634636Z
6456456456452
3453453453242
234234234234X

我想创建一个vba脚本,如果此列中的行包含一个字母,则可以将其删除。 我尝试使用excel函数,但excel函数不允许删除行。

3 个答案:

答案 0 :(得分:2)

运行此short sub以删除A列中包含非数字值的所有行。

Sub noAlphas()
    On Error Resume Next
    With Worksheets("sheet4")
        .Columns(1).SpecialCells(xlCellTypeConstants, xlTextValues).EntireRow.Delete
    End With
End Sub

答案 1 :(得分:1)

这是我的建议:

 Sub RemLetterRows()
    Dim DelRow As Range
    With ThisWorkbook.Sheets("Sheet1").Range("A:A") ' Write your sheetname between "" & column
        On Error Resume Next
          Set DelRow = .SpecialCells(xlCellTypeConstants, xlErrors + xlTextValues + xlLogical)
          DelRow.EntireRow.Delete
        On Error GoTo 0
    End With
    End Sub

此致 丹尼尔

答案 2 :(得分:0)

如果单元格格式化为文本,请尝试转换它们并根据类型不匹配错误删除:

Sub noAlphas()     On Error Resume Next

For i = 11 To 1 Step -1
    j = CLng(Cells(i, 1).Value)
    If Err.Number = 13 Then Rows(i).EntireRow.Delete

Next

End Sub