Добрый день друзья. Прошу помочь настроить таблицу.
Есть таблица с заблокированной строкой (выделена черным) Нужно когда вводишь данные в строки сверху над заблокированной, должна автоматически добавляться под нее пустая строка. а под этой строкой опять должна быть всегда черная заблокированная
Добрый день друзья. Прошу помочь настроить таблицу.
Есть таблица с заблокированной строкой (выделена черным) Нужно когда вводишь данные в строки сверху над заблокированной, должна автоматически добавляться под нее пустая строка. а под этой строкой опять должна быть всегда черная заблокированнаяnikosteel
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Offset(1).Interior.ThemeColor = xlThemeColorLight1 Then Application.EnableEvents = False Rows(Target.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Application.EnableEvents = True End If
End Sub
[/vba]
Где-то так: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Offset(1).Interior.ThemeColor = xlThemeColorLight1 Then Application.EnableEvents = False Rows(Target.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Application.EnableEvents = True End If
китин, Ваша таблица отличная, то что надо. Хотелось бы добавить в нее.
1. Изменения, которые вы уже внесли (сдвигание черной линии при заполнении данных над ней) должно иметь обратную силу, т.е если я удаляю заполненные данные, то она должна подниматься вверх
2. Еще нужно сделать следующее: если я ввожу данные под черной линией, то под этими введенными данными должна быть одна пустая строка, а ниже нее опять проводиться черная линия (нередактируемая).
фото для примера
китин, Ваша таблица отличная, то что надо. Хотелось бы добавить в нее.
1. Изменения, которые вы уже внесли (сдвигание черной линии при заполнении данных над ней) должно иметь обратную силу, т.е если я удаляю заполненные данные, то она должна подниматься вверх
2. Еще нужно сделать следующее: если я ввожу данные под черной линией, то под этими введенными данными должна быть одна пустая строка, а ниже нее опять проводиться черная линия (нередактируемая).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Offset(1).Interior.ThemeColor = xlThemeColorLight1 Then Application.EnableEvents = False Rows(Target.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Application.EnableEvents = True End If If Target.Offset(-1).Interior.ThemeColor = xlThemeColorLight1 Then Rows(Target.Row + 2).Interior.ThemeColor = xlThemeColorLight1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Offset(1).Interior.ThemeColor = xlThemeColorLight1 Then Application.EnableEvents = False Rows(Target.Row + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Application.EnableEvents = True End If If Target.Offset(-1).Interior.ThemeColor = xlThemeColorLight1 Then Rows(Target.Row + 2).Interior.ThemeColor = xlThemeColorLight1