Я должен найти значение celda в листе Excel. Я использую этот код VBA, чтобы найти его:Как найти значение в столбце excel по vba-коду Cells.Find
Set cell = Cells.Find(What:=celda, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False)
If cell Is Nothing Then
'do it something
Else
'do it another thing
End If
Проблема заключается в том, когда я должен найти значение только в колонке первенствовать. Я нахожу его следующий код:
Columns("B:B").Select
Selection.Find(What:="VA22GU1", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Но я не знаю, как адаптировать его к первому коду VBA, потому что я должен использовать значение nothing
.
http://www.siddharthrout.com/2011/07/14/find-and-findnext-in-excel-vba/ Также, пожалуйста, не используйте '.Select' Смотрите эту ссылку HTTP: //stackoverflow.com/questions/10714251/excel-macro-avoiding-using-select/10718179#10718179 –
Если вы просто хотите знать, существует ли значение где-то в диапазоне, оно выполняется быстрее (стоит того, чтобы проверить сотни значения) для использования формулы Excel. Например, если celda является числом, вы можете использовать IF Evaluate («COUNTIF (Sheet1! A1: A1000,« & celda & »)»)> 0 THEN ... – lessthanideal