Всем доброго времени суток уважаемые !!! Не знаю, но скорее всего затупил не по детски Пытаюсь в рамках одного проекта найти методом Find в строке с формулами найти сегодняшнюю дату. Накропал
[vba]
Код
Sub PROBA() Dim sel&, criteria2 criteria2 = Date Set les = Sheets("Лист1").Range("A10:AL10") Set lleess = les.Find(criteria2, , xlValues, xlWhole, xlByRows) llleeesss = lleess.Column End Sub
[/vba]
не хочет и всё тут. выдаёт Nothing и, соответственно далее выкидывает в дебагер. и что у меня там не так?
Всем доброго времени суток уважаемые !!! Не знаю, но скорее всего затупил не по детски Пытаюсь в рамках одного проекта найти методом Find в строке с формулами найти сегодняшнюю дату. Накропал
[vba]
Код
Sub PROBA() Dim sel&, criteria2 criteria2 = Date Set les = Sheets("Лист1").Range("A10:AL10") Set lleess = les.Find(criteria2, , xlValues, xlWhole, xlByRows) llleeesss = lleess.Column End Sub
[/vba]
не хочет и всё тут. выдаёт Nothing и, соответственно далее выкидывает в дебагер. и что у меня там не так?китин
При поиске даты два условия: 1) Поиск даты осуществляется по тому, как дата отображается в ячейке. 2) Find видит даты в строке 10 с учетом английского языка в региональных настройках. В Вашем случае нужно искать не целиком дату "26.04.2018", а только день и месяц и в том формате, как их видит "Find": 26-Apr. Чтобы разобраться в ситуации, измените в региональных настройках язык на английский (США). Решения пока не знаю, как работать в режиме русского языка. Надо переводить название месяца с русского на английский.
Вот так будет находиться:
[vba]
Код
Sub PROBA() Dim sel&, criteria2 Dim les As Range, lleess As Range, llleeesss As Long criteria2 = "26-apr" Set les = Sheets("Лист1").Range("A10:AL10") Set lleess = les.Find(criteria2, , xlValues, xlWhole, xlByRows) llleeesss = lleess.Column End Sub
[/vba]
При поиске даты два условия: 1) Поиск даты осуществляется по тому, как дата отображается в ячейке. 2) Find видит даты в строке 10 с учетом английского языка в региональных настройках. В Вашем случае нужно искать не целиком дату "26.04.2018", а только день и месяц и в том формате, как их видит "Find": 26-Apr. Чтобы разобраться в ситуации, измените в региональных настройках язык на английский (США). Решения пока не знаю, как работать в режиме русского языка. Надо переводить название месяца с русского на английский.
Вот так будет находиться:
[vba]
Код
Sub PROBA() Dim sel&, criteria2 Dim les As Range, lleess As Range, llleeesss As Long criteria2 = "26-apr" Set les = Sheets("Лист1").Range("A10:AL10") Set lleess = les.Find(criteria2, , xlValues, xlWhole, xlByRows) llleeesss = lleess.Column End Sub
Функция "Format" не изменяет русский текст на английский, поэтому он Вам не подойдет. В Вашем случае нужно именно указывать "apr". Вот так работает: [vba]
Код
criteria2 = WorksheetFunction.text(Date, "d-mmm")
[/vba]
Функция "Format" не изменяет русский текст на английский, поэтому он Вам не подойдет. В Вашем случае нужно именно указывать "apr". Вот так работает: [vba]