Здравствуйте. Не подскажите, как мне сделать макрос, чтобы при вводе параметров в один из столбцов, в других в нужном мне месте прописывалась дата: Необходимо сделать, чтобы при вводе числовых значений в колонки 2,3,7,8,12,13,17,21, в столбце 1 автоматически прописывалась сегодняшняя дата. В других колонках число я добавлю формулой допустим (6-я колонка: = 1 колонка, 11 колонка: = 1 колонка и т.д.). В данную таблицу я запихнул макрос:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then If Target.Offset(0, 1).Value = "" Then Target.Offset(0, -1) = Date End If End If End Sub
[/vba]
При этом дата прописывается только если я ввиду значение в столбец 2, это естественно, т.к. в макросе указан именно он. Для того, чтобы дата прописывалась при вводе значений в вышеперечисленные столбцы, аналогично второму, у меня не хватает знаний. Подскажите пожалуйста, кто знает. Для наглядности я приложил снимок таблицы со стрелками, что куда и описанием.
Здравствуйте. Не подскажите, как мне сделать макрос, чтобы при вводе параметров в один из столбцов, в других в нужном мне месте прописывалась дата: Необходимо сделать, чтобы при вводе числовых значений в колонки 2,3,7,8,12,13,17,21, в столбце 1 автоматически прописывалась сегодняшняя дата. В других колонках число я добавлю формулой допустим (6-я колонка: = 1 колонка, 11 колонка: = 1 колонка и т.д.). В данную таблицу я запихнул макрос:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then If Target.Offset(0, 1).Value = "" Then Target.Offset(0, -1) = Date End If End If End Sub
[/vba]
При этом дата прописывается только если я ввиду значение в столбец 2, это естественно, т.к. в макросе указан именно он. Для того, чтобы дата прописывалась при вводе значений в вышеперечисленные столбцы, аналогично второму, у меня не хватает знаний. Подскажите пожалуйста, кто знает. Для наглядности я приложил снимок таблицы со стрелками, что куда и описанием.bravo3133
Сообщение отредактировал bravo3133 - Четверг, 07.11.2019, 15:21
Private Sub Worksheet_Change(ByVal Target As Range) If Target.CountLarge > 1 Then Exit Sub If Not Target.ListObject Is Nothing Then If Not Intersect(Target, Target.ListObject.ListColumns(2).Range.Resize(, 2)) Is Nothing Then If Intersect(Rows(Target.Row), Target.ListObject.ListColumns(1).Range).Value = "" Then Intersect(Rows(Target.Row), Target.ListObject.ListColumns(1).Range).Value = Date End If End If End If End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.CountLarge > 1 Then Exit Sub If Not Target.ListObject Is Nothing Then If Not Intersect(Target, Target.ListObject.ListColumns(2).Range.Resize(, 2)) Is Nothing Then If Intersect(Rows(Target.Row), Target.ListObject.ListColumns(1).Range).Value = "" Then Intersect(Rows(Target.Row), Target.ListObject.ListColumns(1).Range).Value = Date End If End If End If End Sub