2015-07-20 2 views
2

Я использую VBA в Excel, чтобы попытаться написать некоторые макросы, однако я очень новичок в этом процессе.Поиск нечислового значения в VBA Excel

На данный момент я пытаюсь использовать цикл for для поиска столбца для нечислового значения. Для этого я написал следующее:

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.

Я хотел бы выполнить поиск столбца A и выбрать первую ячейку, содержащую нечисловые символы в ней за пределами моих заголовков. Кроме того, это поиск через> 100K ячеек, поэтому, если есть менее интенсивный способ сделать этот процесс, предложения также будут приятными.

Любая помощь будет оценена и снова, я не знаю многого о этом, поэтому, если все не так, не стесняйтесь говорить об этом.

+0

IsNumeric является функцией для тестирования выражение, найдите ответ ниже за несколько секунд! ;) – R3uK

ответ

3

Код ниже должен работать нормально, обратите внимание, как я использовал 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 

Кроме того, вам не нужно их все выбрать, тем выше достигает того же результата

+0

Благодарим за помощь! –

+0

сделал небольшую оптимизацию для вашего кода – 99moorem

1

IsNumeric() является функцией, чтобы проверить выражение, поэтому он должен быть использован, как это:

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, чтобы увидеть Object Browser, чтобы получить информацию о функциях и нажмите клавишу F1, чтобы открыть справку по этой конкретной функции! ;)

+0

Спасибо за помощь! –

+0

Если это решило вашу проблему, пожалуйста, примите ответ, чтобы отметить свой вопрос в соответствии с ответом (отметьте под заголовком вверх/вниз в верхнем левом углу каждого сообщения) – R3uK

Смежные вопросы