Попытка создать таблицы в отдельных вкладках, а затем отформатировать их для блокировки только после ввода данных, но не может их заблокировать - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь создать простой шаблонный документ в 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 и, возможно, пытаюсь вписать квадратный колышек в круглое отверстие, собирая вместе несколько быстрых уроков и рекомендуемых кодов, но я был бы признателен за любую поддержку или направление на страницы, которые могут помочь. Большое спасибо, Лора

...