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

Может кто-нибудь сказать мне, как предотвратить преобразование?

Текстовое поле имеет YY.MM.DD чч: мм: сс в тексте. Я хочу удалить секунды, поэтому я использую:

Select.Value=MID(Select.Value,1,16) 

Это не работает. Я поместил текст в поле, и он усекает последние 3 позиции.

3 ответа3

1

Если вы используете VBA, попробуйте использовать Формат:

Select.Value=FORMAT(Select.Value,"YY.MM.DD hh:mm")
0

Непонятно, чего вы пытаетесь достичь с помощью значения времени, которое влияет на предлагаемые решения. Тем не мение:

Если вы конкретно хотите сделать это через VBA, вы можете определить строковую переменную и затем передать ей значение времени:

strTextValue = cstr(format(selection.value,"YY.MM.DD HH:MM"))

Вы также можете сделать это непосредственно на рабочем листе, например:

=TEXT(range("A1"),"YY.MM.DD HH.MM"))
0

Попробуйте поставить одиночную кавычку перед текстовым полем, чтобы она считалась текстовой

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .