Excel怎样设置单元格输入次数限制
1、表格Sheet1中如何让A1单元格只能输入一次,一次修改就得输入密码? (百度知道问题)
1、首先打开Microsoft Office Excel 2007,新建文档并保存文件名《Excel怎样设置单元格输入次数限制 .xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以)如图。
2、将工作表“Sheet3”改名为“mm”。
3、鼠标移到当前工作表标签栏“Sheet1”表(需要在哪表设置在哪表),右键,弹出快捷菜单,如下图。
4、在快捷菜单找到【查看代码】并单击,打开VBE(宏)编辑界面,如下图。
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
6、然后把工作表mm设置隐藏,在VBE窗口,选工作表mm,按F4,弹出"属性-Sheet3"属性窗口,在Visible项目选2-xlSheetVeryHidden。
7、VBE窗口设置密码:M888,具体方法详见我的百度经验《Excel怎样加密多表查找数据列表》中方法二:VBA:8条。
8、以上操作动态步骤如下 :
9、回到“Sheet1”表窗口,A1输入情况,第一次不需要密码,第2次后需要密码(“a888”),结果如下:
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、如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!