y = Application.WorksheetFunction.Match(51187, Sheets("New Master Data 6.1").Range(Cells(1, 1), Cells((Rows.Count), 1)), 0)
Я не могу найти что-то не так с моим синтаксисом. Помогите пожалуйста:Синтаксис VBA по методу совпадения
y = Application.WorksheetFunction.Match(51187, Sheets("New Master Data 6.1").Range(Cells(1, 1), Cells((Rows.Count), 1)), 0)
Я не могу найти что-то не так с моим синтаксисом. Помогите пожалуйста:Синтаксис VBA по методу совпадения
Если «Новые основные данные 6.1» не является активным листом, тогда ваш код будет ошибочным, потому что в обычном модуле кода любой экземпляр Cells()
без квалифицированного листа будет ссылаться на активный лист.
Я хотел бы использовать что-то вроде:
With Sheets("New Master Data 6.1")
y = Application.Match(51187, .Columns(1), 0)
End with
If Not IsError(y) Then
'do something with y
Else
'value was not found
End If
Обратите внимание, что сбросив WorksheetFunction
позволяет проверить возвращаемое значение, вместо того, что вызвало ошибку во время выполнения, когда нет матча.
@ Jeeped - извините: я ненавижу, когда это происходит ... –
Обратите внимание, что y не может быть длинным; это должен быть вариант, чтобы поймать ошибку – Jeeped
Закрыть дубликат [Подсчитать количество строк на другом листе] (http://stackoverflow.com/questions/27763089/count-the-number-of-rows-in-another-sheet/27763394#27763394). – Jeeped