在VBA Excel中search非数字值

我在Excel中使用VBA来尝试编写一些macros,但是,我对这个过程很陌生。

目前,我正在尝试使用for循环来search一个非数字值的列。 要做到这一点,我写了以下内容:

rwcnt = WorksheetFunction.CountA(Range("A:A")) Dim i As Integer For i = 1 To rwcnt If Cells(i, 1).Value = Not IsNumeric Then Cells(i, 1).Select Range(Selection, Selection.End(xlDown)).Select Exit For End If 

这是返回一个错误,说参数不是可选的,它突出显示IsNumeric。

我想要完成的是search列A,并select包含非数字字符在我的头以外的第一个单元格。 此外,这是通过> 100K细胞search,所以如果有一个不太密集的方式来做这个过程,build议也将是很好的。

任何帮助,将不胜感激,再次,我不知道这个东西太多,所以如果一切都是错的,随时可以这样说。

下面的代码应该可以正常工作,请注意我是如何使用IsNumeric的

 Sub t() rwcnt = WorksheetFunction.CountA(Range("A:A")) Dim i As Integer For i = 1 To rwcnt If Not (IsNumeric(Cells(i, 1).Value)) Then range(Cells(i, 1).address, Cells(i, 1).End(xlDown).address).Select Exit For End If Next End Sub 

你也不需要所有的select,以上达到相同的结果

IsNumeric()是一个函数来testing一个expression式,所以它应该像这样使用:

 rwcnt = WorksheetFunction.CountA(Range("A:A")) Dim i As Integer For i = 1 To rwcnt If IsNumeric(Cells(i, 1).Value) <> True Then Cells(i, 1).Select Range(Selection, Selection.End(xlDown)).Select Exit For End If Next i 

在VBA编辑器中,按F2查看对象浏览器获取function信息,然后按F1打开该function的帮助信息! ;)