Excel怎样设置单元格输入次数限制

2025-09-29 04:06:22

1、表格Sheet1中如何让A1单元格只能输入一次,一次修改就得输入密码? (百度知道问题)

1、首先打开Microsoft Office Excel 2007,新建文档并保存文件名《Excel怎样设置单元格输入次数限制 .xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以)如图。

Excel怎样设置单元格输入次数限制

2、将工作表“Sheet3”改名为“mm”。

Excel怎样设置单元格输入次数限制

3、鼠标移到当前工作表标签栏“Sheet1”表(需要在哪表设置在哪表),右键,弹出快捷菜单,如下图。 

Excel怎样设置单元格输入次数限制

4、在快捷菜单找到【查看代码】并单击,打开VBE(宏)编辑界面,如下图。

Excel怎样设置单元格输入次数限制

5、在右边代码框中复制下面代码到该框中,如下图。

Private Sub Worksheet_Change(ByVal Target As Range)

    '2020-7-6 21:50:24

    If Target.Row = 1 And Target.Column = 1 Then 'a1

        If Sheets("mm").Range("m1").Value < 1 Then

            Sheets("mm").Range("m1").Value = Sheets("mm").Range("m1").Value + 1

            ActiveSheet.Protect Password:="a888", DrawingObjects:=True, Contents:=True, Scenarios:=True

            ActiveWorkbook.Save

        Else

            Sheets("mm").Range("m1").Value = Sheets("mm").Range("m1").Value + 1

            ActiveSheet.Protect Password:="a888", DrawingObjects:=True, Contents:=True, Scenarios:=True

            ActiveWorkbook.Save

        End If

    End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    '2020-7-6 21:55:24

    Dim m As String

    If Target.Row = 1 And Target.Column = 1 Then 'a1

        If Sheets("mm").Range("m1").Value >= 1 Then

          Application.DisplayAlerts = False

          m = Application.InputBox(Prompt:="请输入密码才能修改A1单元格", Type:=2)

          If m = " a888" Then

            ActiveSheet.Unprotect ("a888")

          Else

             MsgBox "密码不正确!"

             Range("a2").Select

          End If

          Application.DisplayAlerts = True

        End If

    End If

End Sub

Excel怎样设置单元格输入次数限制

6、然后把工作表mm设置隐藏,在VBE窗口,选工作表mm,按F4,弹出"属性-Sheet3"属性窗口,在Visible项目选2-xlSheetVeryHidden。

Excel怎样设置单元格输入次数限制

7、VBE窗口设置密码:M888,具体方法详见我的百度经验《Excel怎样加密多表查找数据列表》中方法二:VBA:8条。

3Excel怎样加密多表查找数据列表

Excel怎样设置单元格输入次数限制

8、以上操作动态步骤如下 :

Excel怎样设置单元格输入次数限制

9、回到“Sheet1”表窗口,A1输入情况,第一次不需要密码,第2次后需要密码(“a888”),结果如下:

Excel怎样设置单元格输入次数限制

Excel怎样设置单元格输入次数限制

10、需要输入n次时,需把代码修改下可以。

If Sheets("mm").Range("m1").Value < 1改为

If Sheets("mm").Range("m1").Value < n

 If Sheets("mm").Range("m1").Value >= 1 Then改为

 If Sheets("mm").Range("m1").Value >= n

11、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢