Excel精英培训网

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

登录窗体怎么解决

[复制链接]
发表于 2017-2-18 10:02 | 显示全部楼层 |阅读模式
本帖最后由 小颖子的尾巴 于 2017-2-18 10:06 编辑

请问一下大家下面一段话运行错误是“1004”,应用程序或对象错误,要怎么修改。

If CStr(User.Value) = Right(Names("UserName").RefersTo, _
        Len(Names("UserName").RefersTo) - 1) And CStr(Password.Value) _
        = Right(Names("UserWord").RefersTo, Len(Names("UserWord").RefersTo) - 1) Then




Private Sub CmdCancel_Click()    '当单击退出按钮时执行过程
    Unload Me    '关闭登录窗体
    ThisWorkbook.Close savechanges:=False  '关闭当前工作薄,不保存修改
End Sub
Private Sub CmdOk_Click()          '单击"确定"按钮的时候执行过程
   Application.ScreenUpdating = False          '关闭屏幕更新
    Static i As Integer                         '声明一个变量
   '判断用户名和密码是否输入正确
    If CStr(User.Value) = Right(Names("UserName").RefersTo, _
        Len(Names("UserName").RefersTo) - 1) And CStr(Password.Value) _
        = Right(Names("UserWord").RefersTo, Len(Names("UserWord").RefersTo) - 1) Then
        Unload Me                              '关闭登录窗体
        Application.Visible = True             '显示Excel界面
    Else
        i = i + 1             '密码或用户名输入错误一次,变量i加1
        If i = 3 Then         '如果输错三次执行下面的语句
            MsgBox "对不起,你无权打开工作薄!", vbInformation, "提示"
            ThisWorkbook.Close savechanges:=False            '关闭当前工作薄,不保存更改
        Else                        '如果输错不满三次,执行下面的语句
            MsgBox "输入错误,你还有" & (3 - i) & "次输入机会。", vbExclamation, "提示"
            User.Value = ""                 '清除文字框中的用户名
            Password.Value = ""             '清除文字框中的密码
        End If
    End If
    Application.ScreenUpdating = True           '开启屏幕更新
End Sub


谢谢大家。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-2-18 11:42 | 显示全部楼层
回复

使用道具 举报

发表于 2017-2-18 19:03 | 显示全部楼层
检查一下"UserName"是否有定义,最好把附件上传上来!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 22:12 , Processed in 0.369649 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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