Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: silenthunter

[已解决]请教变量赋值的问题。

[复制链接]
发表于 2013-2-17 22:18 | 显示全部楼层
代码思路有Bug,虽然你使用Combobx事件把密码提取到了,

但是在 CommandButton1_Click 事件中并没有判断 Combobox 有没有值的代码

如果用户没选择 用户名,而直接输入密码然后点确定,就直接关闭文件了,这是不是不太智能呢??

所以还是判断一下Combobox有没有值吧??
ComboboX的事件也不需要了,直接在 按钮事件里查找密码,这样还可以改变一下变量的生存期!!

另外,你只是关闭了文件,而并没有退出程序,这是不是也不太好呢??

如果是打开有有多个 Excel,这当然不能关闭程序,而只有这一个程序的时候,还是关了比较好吧??

添加上判断后,使用 application.quit 来退出应用程序吧
回复

使用道具 举报

 楼主| 发表于 2013-2-17 23:10 | 显示全部楼层
本帖最后由 silenthunter 于 2013-2-17 23:12 编辑
无聊的疯子 发表于 2013-2-17 22:18
代码思路有Bug,虽然你使用Combobx事件把密码提取到了,

但是在 CommandButton1_Click 事件中并没有判断 C ...

是的,要把判断改改。明天再想

combobox事件的内容可以放到click里。

用户完全有可能打开多个文件,所以还是不要退出程序好。
回复

使用道具 举报

 楼主| 发表于 2013-2-17 23:13 | 显示全部楼层
爱疯 发表于 2013-2-17 21:06
Worksheets("user&password").Range("a:a").Find(user_name)
并不是返回字符串,而是因你把返回这个ran ...

那么在VBA内部,Worksheets("user&password").Range("a:a").Find(user_name) 解释为什么?必须解释为range对象吧?只有range才存在offset。
回复

使用道具 举报

发表于 2013-2-18 08:34 | 显示全部楼层
silenthunter 发表于 2013-2-17 23:13
那么在VBA内部,Worksheets("user&password").Range("a:a").Find(user_name) 解释为什么?必须解释为rang ...

QQ截图未命名.jpg
回复

使用道具 举报

发表于 2013-2-18 13:23 | 显示全部楼层
silenthunter 发表于 2013-2-17 23:10
是的,要把判断改改。明天再想

combobox事件的内容可以放到click里。

关闭时,检查打开的工作薄数量,如果只打开了一个,就退出程序,这样不就解决了??
回复

使用道具 举报

发表于 2013-2-20 12:33 | 显示全部楼层
User_Password = Worksheets("user&password").Range("a:a").Find(User_Name)(1, 2)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 20:47 , Processed in 0.342728 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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