Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1785|回复: 1

VBA数据输入限时保护,修改需提供密码的问题

[复制链接]
发表于 2017-2-15 10:00 | 显示全部楼层 |阅读模式
我有一个成绩输入表,已设置非空单元格输入数据即保护,需凭密码“123”修改的功能。现要解决两个问题:1.希望这个功能只在B2:B10,D2:D10,F2:F10区域使用;2.是否可以实现输入数据延时10秒后保护,而不是即时保护。(因为正式的程序是共享工作簿,所以千万不能采用保护工作表之类的方式。)
1.png

Book1.rar

5.82 KB, 下载次数: 5

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2017-2-18 21:12 | 显示全部楼层
自己琢磨,第一个要求已经达到,分享给有同样需求的朋友(请大师们指正),代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("B2:B10,D2:D10,F2:F10")) Is Nothing Then
    Dim b As Boolean
    For Each c In Target                  '循环选定单元格
        If c <> "" Then                   '如果单元格非空
            b = True
            Exit For                      '退出循环
        End If
    Next
        If b = True Then
               str1 = Trim(InputBox("注意:修改已录入成绩,需要提供权限密码。", "权限验证"))
            If str1 = "123" Then
               MsgBox "密码正确,单击“确定”后请修改!"
               Exit Sub
               End If
            If str1 = "" Then
               MsgBox "您没有输入密码,不执行任何操作。"
               Range("A1").Select
            Exit Sub
            End If
            If str1 <> "123" Then
               MsgBox "密码错误,不执行任何操作。"
               Range("A1").Select
            Exit Sub
            End If
        End If
    End If
End Sub

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 12:49 , Processed in 0.285831 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表