2015-02-27 3 views
0

я этот диапазон он выбирает все значения в этом столбце:Excel VBA найти первую строку значение в диапазоне

Set c = ThisWorkbook.Worksheets("SplitSkillInterv").Range("C3:C" & Rows.Count)

Теперь мне нужно сделать, чтобы найти какое-то значение, а затем его строку (это может быть 1 или 10+, поэтому мне нужно сначала найти) любые идеи?

Мне нужно найти, например: в диапазоне значений c от 1 до 10 и случайным образом повторяется до 100 строк. Я и скажу, что мне нужно найти, когда первый раз будет числом 3 в диапазоне и его строкой.

ответ

0

Я также немного неясно, что вы просите, но с использованием Find может сделать трюк для вас:

With ThisWorkbook.Worksheets("SplitSkillInterv") 
    Set Rng = .Range("C3:C" & RowCount).Find(What:=".", LookIn:=xlValues, lookat:=xlPart, _ 
      MatchCase:=False) 'find the first "." in the first row 
    While Not Rng Is Nothing 
    'Your stuff here 
    Set Rng = .Range("C3:C" & RowCount).Find(What:=".", LookIn:=xlValues, _ 
       lookat:=xlPart, MatchCase:=False) 'find the next "." 
    Wend 
End With 

Я бы определил RowCount до входа в этот сегмент кода. Замените What:="." тем, что вы ищете.

Rng будет ячейкой, которая содержит все, что вы ищете. Вы можете сделать свой материал в этой ячейке по адресу 'Your stuff here, затем следующая строка найдет следующее вхождение вашего элемента поиска. Если вам нужно только что-то сделать с первым элементом, удалите строки кода после Set Rng = ...

0

Вопрос немного неясен для меня, но они, как я понимаю, это даст вам номер строки первой строки со значением, которое вы хотите найти, если вы замените «что-то» на значение, которое вы хотите найти ,

i = 3 
ValueToFind = 'Something' 

Do Until ValueToFind = ThisWorkbook.Worksheets("SplitSkillInterv").Cells(i, 3).Value 
    i = i + 1 
Loop 
FirstRowWithValue = i 
Смежные вопросы