Страницы: 1
RSS
Добавка макросом к введенному числу дня - текущие месяц и год
 
Здравствуйте, специалисты по экселю.

Имеется макрос, который по событию ВоркшитЧендж - должен вводить в ячейку дату.
Однако этот макрос - вводит не текущую дату, а ".01.1900"
То есть дату столетней давности.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column <> 9 Then Exit Sub
  On Error GoTo 1
  Application.EnableEvents = False
  Target = CDate(Target)
1 Application.EnableEvents = True
End Sub
Как изменить этот макрос - чтобы он к введенному числу - добавлял текущие месяц и год ?
 
Исправлено под вашу задачу
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column <> 9 Then Exit Sub
  On Error GoTo 1
  Application.EnableEvents = False
  Target = DateSerial(Year(Now), Month(Now), Target)
1 Application.EnableEvents = True
End Sub

Но исходный макрос должен делать не то, что вы описали. Этот макрос вам сделали в другой теме под другую задачу. И в её рамках он работает верно.
А подход к текущей задаче вам стоит пересмотреть. ИМХО, такой макрос - не лучший вариант
Изменено: Sceptic - 21.03.2019 23:22:27
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column <> 9 Then Exit Sub
  On Error GoTo 1
  Application.EnableEvents = False
  Target = CDate(CInt(Target) & Format(Now(), "\.MM.YYYY"))
1 Application.EnableEvents = True
End Sub
По вопросам из тем форума, личку не читаю.
 
БМВ, спасибо.
Страницы: 1
Наверх