С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
oleg_t67
1 / 1 / 0
Регистрация: 20.08.2015
Сообщений: 40
1

VBA-Excel-Find

11.02.2016, 12:45. Просмотров 985. Ответов 5
Метки нет (Все метки)

Добрый день!

Имеем:
в ячейке A2 "2016"
в ячейке B2 =ТЕКСТ("01.01." & A2;"дд.ММ.гг")
в ячейках с C2 по ND2 =B2+1 .. =NC2+1
для украшательства в первой строке с колонки "B" по "ND" =ТЕКСТ(B2;"ддд") - дни недели
Изменяя значение в ячейке A2, легко меняем все дни недели на выбранный год.

Непонятности возникают при поиске значений из макроса.
Для упрощения задачи использовал запись макроса, в тесте использовал строку поиска "10.02.16". В стандартной форме данная строка была найдена.
Запускаю макрос - не находит!
Меняю значения ячеек с датами - вместо формул "=B2+1 .. =NC2+1" записываю просто текстовые значения дат - находит.
Visual Basic
1
2
3
4
Dim tmpRNG As Range
'
Range("A3:ND3").Select
Set tmpRNG = Selection.Find(What:="10.02.16", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns)
Формат ячеек - дата, "дд.мм.гг", но в поиске используется LookIn:=xlValues, соответственно должны просматриваться только значения, а не формулы.

Возможно, потребуется использовать текстовый формат ячеек и вместо формулы <предыдущая ячейка>+1 потребуется использовать формулу типа "преобразуем_предыдущую_текстовую_ячейку_в_дату - прибавляем_1 - преобразуем_полученную_дату_в_текст"

Может имеется вариант попроще, используя стандартный поиск?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2016, 12:45
Ответы с готовыми решениями:

VBA excel функция Find - принцип поиска
Добрый день, уважаемые форумчане! В очередной раз обращаюсь к Вам за помощью....

Vba excel windows и vba excel Mac Os - Макинтош корявит шрифт
Всем привет, столкнулся с такой ситуацией. Макросы написаны на Excel 2016...

Find в VBA
Помогите с помощью Find найти в каком из столбцов находиться число 4,начиная с...

Vba, позиция ячейки в функции .find
Можно ли узнать позицию ячейки которую нашёл .find ?

Поиск слова VBA (Do While Selection.Find.Found)
Добрый день! Подскажите, пожалуйста! Есть код Sub...

5
Vlad999
2862 / 1763 / 527
Регистрация: 02.11.2012
Сообщений: 4,420
11.02.2016, 13:54 2
как вариант организовать поиск циклом.
0
oleg_t67
1 / 1 / 0
Регистрация: 20.08.2015
Сообщений: 40
11.02.2016, 14:03  [ТС] 3
спасибо,
это возможно, но некрасиво...
0
Vlad999
2862 / 1763 / 527
Регистрация: 02.11.2012
Сообщений: 4,420
11.02.2016, 14:09 4
вам нужно рабочий код или красивый?
а заморачиваться с переводом текста в число и обратно - красиво?
0
oleg_t67
1 / 1 / 0
Регистрация: 20.08.2015
Сообщений: 40
11.02.2016, 14:24  [ТС] 5
Vlad999, не обижайтесь...

решил проблему следующим образом:
1. для всей строки выбрал формат "Общий"
2. вместо "=B2+1 .. =ND2+1" в эти ячейки записал =ТЕКСТ(ДАТАЗНАЧ(<B..ND>3)+1;"дд.ММ.гг")

теперь поиск работает

ещё раз спасибо за участие...
0
pashulka
2434 / 1249 / 506
Регистрация: 01.12.2010
Сообщений: 2,515
11.02.2016, 21:17 6
Если ячейки содержат формулу, возвращающую дату, например, =ДАТА(A3;1;2) и к этим ячейкам применён формат ДД.ММ.ГГ, то начиная с XL2000 :

Visual Basic
1
2
3
4
Dim iCell As Range
Set iCell = Range("A1:N10").Find("02/01/16", , xlValues)
 
If Not iCell Is Nothing Then MsgBox iCell.Address
0
11.02.2016, 21:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2016, 21:17

VBA функция Find поиск нескольких значений в диапазоне
Доброго времени суток! Заранее извиняюсь за неумный вопрос, VBA изучаю...

Функциия excel в функции excel на vba
С помощью мастера записи матросов получил следующую функцию...

[EXCEL] RANGE.FIND метод не работает при адресации ячеек r1c1 - error 1004
Всем привет, собственно сабж. ВОт проблемный код (ошибка вылетает на строке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru