Почему значение ячейки А1 не равно значению ячейки В1 (см. вложение)?
В ячейку "В1" значение заносится DTPicker-ом.
[вложение удалено администратором]
Пункт 1Элемент управления "DTPicker" продаётся с программой "MS Access". У меня не установлена программа "MS Access", поэтому полноценно не могу посмотреть Ваш пример.
Пункт 2Формат даты:
в ячейке "A1" - дата;
в ячейке "B1" - текст.
Для Excel это разные данные и Excel не может их сравнить, поэтому две даты в двух ячейках не равны.
Как я увидел, что даты в этих двух ячейках имеют разный тип данных. Я сделал формат ячеек "Общий" и дата в ячейке "A1" была превращена в число, а в ячейке "B1" дата осталась в виде даты.
Решение проблемы:
- помещайте даты одинаково в Excel; или
- после помещения данных в Excel, преобразуйте их к одному типу данных; или
- измените Excel-формулу, чтобы формула приводила данные к одному типу данных, а потом сравнивала.
2.после помещения данных в Excel, преобразуйте их к одному типу данных;
Пытался так: Range("B1") = Format(CDate(TextBox1.Value), "dd/mm/yyyy")
Range("B1").NumberFormat = "m/d/yyyy"
- не помогает.
Пункт 1
Дату в Excel в текстовом виде уже нельзя преобразовать в тип данных "Дата", поэтому это не поможет:
Range("B1").NumberFormat = "m/d/yyyy"
Пункт 2
Не используйте здесь "Format":
Range("B1") = Format(CDate(дата.Value), "dd/mm/yyyy")
т.к. "Format" переводит тип данных в тип данных "Текст".
Вот так вроде работает: Range("B1") = CDate(дата.Value)
И без разницы как я ввожу дату в TextBox: 25.05.2014; 25/05/2014 или 25/6/14.
Илья, VBA и Excel, когда видят данные, то начинают их анализировать по каким-то правилам, которые, наверное, нигде не написаны. Видимо, компьютер смотрит, какие есть символы в данных, если данные могут соответствовать дате, то данные воспринимаются как дата.
Обратил внимание на то, что DTPicker вместе с датой добавляет в ячейку и время! Поэтому ячейки не идентичны друг другу!
Не стал мучится с DTPicker... заменил его на TextBox, а в коде прописал следующее: Range("B1") = CDate(Me.TextBox1). Для удобства и эстетической красоты добавил форму с календариком.
Смотрим приложение.
[вложение удалено администратором]