На следующем рисунке листа Excel заголовок первого столбца, а затем каждого седьмого столбца после этого содержит месяц и год.Создание точных дат в Excel VBA путем ввода только дня
Я пытаюсь думать о какой-то код, который бы сделать ввод полных дат под этими заголовками быстрее. Поскольку месяц и год уже присутствуют, я думаю, что должен быть способ войти в этот день и получить все это. Например, если «21» было введено в ячейку A26, это приведет к «2/21/2015».
У кого-нибудь есть идея, как я могу получить этот выход?
Редактировать: Благодаря полезным ответам на этом форуме я выяснил, как это сделать. Вот код для моего готового продукта, в случае, если кто-то хочет сделать что-то подобное:
Private Sub Worksheet_change(ByVal Selection As Range)
Set Sel = Selection
If Sel.Count > 1 Then
Exit Sub
End If
If (Sel.Column - 1) Mod 7 = 0 Or Sel.Column = 1 Then
«В моем случае, дата столбцы всегда следуют образцу 1, 8, 15 ...
If Sel.Value > 31 Or Sel.Value = "" Then
Exit Sub
Else
Sel.NumberFormat = "General"
Sel.Value = Left(Cells(1, Sel.Column), InStr(Cells(1, Sel.Column), ",") - 1) & " " & _
Sel.Value & Right(Cells(1, Sel.Column), 6)
Selection.NumberFormat = "m/d/yyyy"
End If
End If
End Sub
- это месяц/год в формате A1 или форматированная дата? – Calum
Просто заполните (где A1 содержит индекс даты на 1 февраля 2015 г.). – pnuts