Я пытаюсь создать простой шаблонный документ в Excel 2010, который позволяет создавать таблицы в отдельных вкладках, а затем форматирует их для блокировки только после ввода данных, но я думаю, что застрял в таймингах своего кода. Я настроил кнопки с подключенными модулями с кодом ниже, чтобы основные пользователи могли добавить соответствующее количество столбцов (требуется только один раз), прежде чем делиться ими с более широкой сетью:
Sub B2Column()
Dim ws As Worksheet
Set ws = Worksheets("Band 2")
ws.Unprotect Password:="123"
ws.ListObjects("Band2").ListColumns.Add
ws.Range("A:G").Locked = False
ws.Protect Password:="123"
End Sub
Я тогда установите код рабочей книги:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Set xRg = Intersect(Range("A:G"), Target)
If xRg Is Nothing Then Exit Sub
Target.Worksheet.Unprotect Password:="123"
If xRg.Value <> mStr Then xRg.Locked = True
Target.Worksheet.Protect Password:="123"
End Sub
Чтобы заблокировать ячейки после ввода.
Однако добавленные столбцы таблицы не блокируются.
Извините, я очень новичок к VBA и, возможно, пытаюсь вписать квадратный колышек в круглое отверстие, собирая вместе несколько быстрых уроков и рекомендуемых кодов, но я был бы признателен за любую поддержку или направление на страницы, которые могут помочь. Большое спасибо, Лора