Вопрос № 125291: Здравствуйте уважаемые эксперты! Помогите пожалуйста с одним вопросом:
Когда я в textbox ввожу дату (например 21.01.2008) то мне возвращается дата в виде строки ("21.01.2008"). Подскажите как можно в макросе сделать чтобы вернуть д...Вопрос № 125434: Не получается разобраться с сочетанием Find, FindNext
С толбце А, есть коды и они повторяются, нужно удалить дубликаты.
Код удаляет абсолютно все, что нашли, да еще и выдает ошибку цикла, может легче будет немного подправить его....
Вопрос № 125.291
Здравствуйте уважаемые эксперты! Помогите пожалуйста с одним вопросом:
Когда я в textbox ввожу дату (например 21.01.2008) то мне возвращается дата в виде строки ("21.01.2008"). Подскажите как можно в макросе сделать чтобы вернуть дату которую я ввел в поле textbox-са в формате даты, а не в формате строки.
Заранее спасибо.
Отправлен: 28.02.2008, 15:46
Вопрос задал: Faraviper (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: AlexanderZh
Здравствуйте, Faraviper! Воспользуйтесь функцией CDate(expression). Она преобразует строку к типу Date.
Ответ отправил: AlexanderZh (статус: Практикант)
Ответ отправлен: 28.02.2008, 18:04 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо! Все сработало на ура! Проблема решена
Вопрос № 125.434
Не получается разобраться с сочетанием Find, FindNext
С толбце А, есть коды и они повторяются, нужно удалить дубликаты.
Код удаляет абсолютно все, что нашли, да еще и выдает ошибку цикла, может легче будет немного подправить его.
Отвечает: Коровин Александр
Здравствуйте, Irkutskiy Konstantin!
Предлагаю Вам такой вариант:
Set c = Range("D4:D549").Find(101, LookIn:=xlValues)
If Not (c Is Nothing) Then
MsgBox "Нашли: " & c.Address
firstAddress = c.Address
Else
MsgBox "Не нашли"
Exit Sub
End If
Set c = Range(firstAddress).Offset(1, 0)
Do
c.ClearContents
Set c = Range(c.Address + ":D549").FindNext(c)
Loop While Not (c Is Nothing)
Удачи.
Ответ отправил: Коровин Александр (статус: 3-ий класс)
Ответ отправлен: 29.02.2008, 19:45 Оценка за ответ: 5
Отвечает: Megaloman
Здравствуйте, Irkutskiy Konstantin!
Ну, раз на простое задание уже ответили, отвечаю на усложненное.
Предлагаю свое решение усложненной задачи в приложении.
Итак:
- Определен столбец, где расположены численные коды
- Определен диапазон строк в столбце, где расположены коды
- предполагается, что клетки с кодами расположены непрерывно без пустых мест между кодами
(так поставлена задача, в принципе несложно это условие убрать)
- Если в начале диапазона нет кодов, подымаю все коды вверх на начало диапазона
- Просматриваю коды, чищу строки с повторяющимися кодами, перемещаю эти чистые строки в конец разрешенного диапазона
Результат - строки с уникальными кодами, расположенными в начале диапазона.
Макрос можно запускать многократно, на строки вне диапазона он не влияет.
Кстати, хотя приведенное решение уважаемого Коровин Александр я не тестировал, но убедился, что
Find и FindNext с предложенными параметрами найдет и 101 и 9810156 и 1011 и т д., что недопустимо. У Вас это тоже присутствует.
Кстати, заглянул к себе в закрома, нашел неплохую книжицу, м б найдете ее или что поновее, а если найтете для скачивания, поделитесь.
Приложение:
--------- Нет времени на медленные танцы!
Ответ отправил: Megaloman (статус: Студент)
Ответ отправлен: 01.03.2008, 19:12 Оценка за ответ: 5