2014-01-09 2 views
3

У меня есть ячейка в файле Excel, которую я хочу заполнить текущей датой & времени и имени пользователя. Ячейка заполняется нажатием кнопки.Application.UserName изменяет формат чисел

До сих пор я не использовал функцию Application.UserName и вывод времени даты & отформатирован некорректно (например: 07.01.2014 16:57)

После того как я добавил & Space(1) & Application.UserName кусок кодирования форматирования даты & времени не отформатирован (в зависимости от пользователя, который заполняет ячейку, я получаю такие результаты, как: 09-Jan-14 11:30:13 + USERNAME или 1/7/2014 5:59:43 PM + USERNAME)

Я думаю, что он принимает форматирование из региональных настроек пользователя, правильно?

Мой вопрос в том, как я могу переопределить эти настройки, поскольку выглядит, что код ActiveCell.NumberFormat = "dd.mm.yyyy hh:mm" больше не работает.

Ниже мой код:

Private Sub CommandButton1_Click() 
    ActiveCell = Now() & Space(1) & Application.UserName 
    ActiveCell.NumberFormat = "dd.mm.yyyy hh:mm" 
End Sub 

ответ

3

Дата/время NumberFormat будет работать только если ячейка имеет действительную дату/время. Итак, фокус в том, чтобы сначала изменить формат, а затем добавить имя пользователя.

Это то, что вы пытаетесь?

With ActiveCell 
    .Value = Now() 
    .NumberFormat = "dd.mm.yyyy hh:mm" 
    .Value = .Text & Space(1) & Application.UserName 
End With 
+0

Спасибо, это решило мою проблему. Я новичок в кодировании VBA, но стараюсь учиться шаг за шагом. Еще раз спасибо. – Klax

+0

@ user3013587: Рад, что я могу помочь :) –

+0

@SiddharthRout: Ничего себе, поздравляю с 50к! :) – Manhattan

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