2015-06-19 2 views
0

У меня есть окно ввода пользователя, в котором вы вводите строку, досадно, эта строка выглядит как дата 00/00/0000 и excel переформатирует ее как таковую. Если значение не может быть датой ex. 18/19/4561 (месяц не может быть 18 или 19), он отображает его правильно. Но всякий раз, когда это можно увидеть как возможную дату, она меняет ситуацию.Excel VBA Значение InputBox не является датой

Я пробовал задавать значение как строку, а не ничего, но Excel все еще меняет ее при размещении на странице.

Когда я пытаюсь вручную вводить его в ячейку или равным значениям из введенной вручную ячейки, он отлично работает.

Но всякий раз, когда я получаю его из поля ввода, он беспорядок с ним. Даже когда я жестко переписываю строку в переменную (x = "05/06/4564"), она меняет ситуацию.

Как заставить excel оставить строку как есть?

+0

Пожалуйста, пометьте ответ, как «принято», если он решил вашу проблему. Спасибо – joehanna

+0

Вы объявили x как строку? И вы попробовали функцию 'Cstr()'? – TMH8885

+0

@ TMH8885: Да, я попытался попробовать оба, и ни одна из них не работает. (упомянутый первый в моем вопросе кстати) Я считаю, что проблема здесь не в способе VBA обработки строки. Но Excel пытается быть умным. – bitterpill

ответ

2

Префикс значения с одним апострофом, и Excel интерпретирует его как строку.

Например '18/19/4561

Кроме того, вы пробовали установить формат ячейки для Text

+0

Damnit настолько невзрачный, что я добавил .NumberFormat = "@", прежде чем он запустится и работает отлично. Благодарю. для меня апостроф действительно не сработает для меня, так как мне придется постоянно фильтровать это и снова, когда что-то с этим делать. – bitterpill

Смежные вопросы