Формат даты изменяется, когда текстовое поле пользовательской формы отправляет требуемый формат даты на лист - PullRequest
0 голосов
/ 17 января 2020

У меня есть пользовательская форма , откуда я отправляю дату в формате мм / гг (месяц / год) на лист. При переносе на лист он меняет формат, и в другом месте листа он отображается совсем иначе.

Для формата даты я использую следующий код:

TextBox3.SetFocus

If IsDate(TextBox3.Text) Then
Debug.Print Format(CDate(TextBox3.Text), "mm/yy")
 Else
Debug.Print "Not a valid date"
End If

Передача Код:

Dim X As Long
Dim Y As Worksheet
Set Y = Sheets2
X = Y.Range("B" & Rows.Count).End(xlUp).Row
with Y
.Cells(X + 1, "D").Value = TextBox3.Value
End with

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

enter image description here

Те же даты по-разному отображаются в лист:

enter image description here

Я хочу отобразить дату в формате Месяц и Год . Например, если дата равна июнь-2021 , то отображается как 06/21 .

1 Ответ

1 голос
/ 17 января 2020

Трудно сказать, где вам нужна помощь, поскольку предоставленный код просто печатает дату в ближайшем окне. В общем, вам нужно внести изменения в форматирование самой ячейки. Поэтому после того, как вы установите данные из формы, сделайте что-то подобное на рабочем листе.

Диапазон ("A2: A50"). NumberFormat = "мм / гг"

Редактировать: обновить код выше

Dim X As Long
Dim Y As Worksheet
Set Y = Sheets2
X = Y.Range("B" & Rows.Count).End(xlUp).Row
with Y
.Cells(X + 1, "D").Value = TextBox3.Value
.Cells(X + 1, "D").NumberFormat = "mm/yy"
End with
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...