单击提交按钮后,是否可以阻止某些excel单元格进行输入?

时间:2019-06-06 19:43:41

标签: excel vba

我有一个宏Excel,在我填写一些信息后,我单击“提交”按钮,然后该文件通过电子邮件发送。我需要的是,在启动提交功能和发送电子邮件之间的过程中,文件被阻止进行先前的编辑。 谢谢您的帮助。

我已经尝试了以下代码,但无法正常工作

Set MyRange = Intersect(Range("J6:J7"), Target)
    If Not MyRange Is Nothing Then
        Sheets("Sheet").Unprotect Password:="123"
        MyRange.Locked = True
        Sheets("Sheet").Protect Password:="123"
    End If

1 个答案:

答案 0 :(得分:0)

假设您使用的是Worksheet_Change(ByVal Target As Range),我将MyRange.Locked = True更改为Cells.Locked = True,以便保护您的整个工作表。

预期结果是,只要J6或J7的更改将触发对整个工作表的保护。

Set MyRange = Intersect(Range("J6:J7"), Target)
    If Not MyRange Is Nothing Then
        Sheets("Sheet").Unprotect Password:="123"
        Cells.Locked = True
        Sheets("Sheet").Protect Password:="123"
    End If

如果您不使用Worksheet_Change事件,那么我更改了条件以测试单元格是否有价值。

        If Len(Range("J6").Text) <> 0 Or Len(Range("J7").Text) <> 0 Then
            Sheets("Sheet").Unprotect Password:="123"
            Cells.Locked = True
            Sheets("Sheet").Protect Password:="123"
        End If