Excel 用户表单输入后锁定单元格

Excel 用户表单输入后锁定单元格,excel,vba,user-controls,userform,commandbutton,Excel,Vba,User Controls,Userform,Commandbutton,我需要在提交用户表单后锁定行和单元格 在userform中插入数据时,这些数据转到名为“表”的选项卡。我需要锁定tab表,并且只允许用户表单输入 我需要从A4到AF4的行和单元格被锁定以进行编辑 我用这个密码试过了 Private Sub Worksheet_Change(ByVal Target As Range) Dim MyRange As Range Set MyRange = Intersect(Range("A1:D100"), Target) If Not M

我需要在提交用户表单后锁定行和单元格

在userform中插入数据时,这些数据转到名为“表”的选项卡。我需要锁定tab表,并且只允许用户表单输入

我需要从A4到AF4的行和单元格被锁定以进行编辑

我用这个密码试过了

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyRange As Range

Set MyRange = Intersect(Range("A1:D100"), Target)
If Not MyRange Is Nothing Then
    Sheets("Sheet1").Unprotect password:="hello"
    MyRange.Locked = True
    Sheets("Sheet1").Protect password:="hello"
End If
End Sub
这就是我的命令按钮的外观

Private Sub CommandButton2_Click()
Dim sh As Worksheet, lastRow As Long
Set sh = Sheets("Details")lastRow = sh.Range("A" & Rows.Count).End(xlUp).row + 1
sh.Range("A" & lastRow).value = TextBox3.value
sh.Range("B" & lastRow).value = TextBox4.Text
sh.Range("C" & lastRow).value = TextBox5.Text
Unload Me
End sub

首先,从
A4:AF[ChooseTheLastRow]
手动锁定单元格,然后使用密码保护工作表,不允许选择锁定的单元格

然后在代码中执行此操作

Private Sub CommandButton2_Click()

  Dim sh As Worksheet
  Set sh = Sheets("Details") 'you called this TABLE in your text above, no?

  With sh

      .unprotect "PASSWORD"

      Dim lastRow As Long
      lastRow = .Range("A" & Rows.Count).End(xlUp).row + 1

      .Range("A" & lastRow).value = TextBox3.value
      .Range("B" & lastRow).value = TextBox4.Text
      .Range("C" & lastRow).value = TextBox5.Text

      .protect "PASSWORD"

  End With

End sub