注册 登录
编程论坛 VB6论坛

excel登录机制的vb宏,报错了

josephlzh 发布于 2017-04-13 09:43, 1336 次点击
错误的参数号或无效的属性赋值
Private Sub CommandButton1_Click()
Dim MyLoginStatus As Single
MyLoginStatus = 0
For i = 2 To ThisWorkbook.Sheets("UserLoginInfor").UsedRange.Rows.Count
If (Trim(ThisWorkbook, Sheets("UserLoginInfor").Cells(i, 1).Value)) = Trim(TextBox1.Value) And (Trim(ThisWorkbook.Sheets("UserLoginInfor").Cells(i, 2).Value)) = Trim(TextBos2.Value) Then
MyLoginSatus = MyLoginStatus + 1
If (Trim(ThisWorkbook.Sheets("UserLoginInfor").Cells(i, 3).Value) = "最高权限") Then
ThisWorkbook.Sheets("UserLoginInfor").Visible = True
Else
ThisWorkbook.Sheets("UserLoginInfor").Visible = False
End If
End If
Next i
If (MyLoginStatus >= 1) Then
MsgBox "登陆成功", vbInformation, "系统消息"
UserForm1.Hide
Else
MsgBox "错误的用户名和密码", vbCritical, "系统消息"
End If
End Sub

这是登录按钮的代码,过不去啊,大神看看哪的问题,我都是按百度抄的
5 回复
#2
josephlzh2017-04-13 09:44
http://www.
附上抄袭的地址
#3
xiangyue05102017-04-13 12:32
If (Trim(ThisWorkbook, Sheets("UserLoginInfor").Cells(i, 1).Value)) = Trim(TextBox1.Value) And (Trim(ThisWorkbook.Sheets("UserLoginInfor").Cells(i, 2).Value)) = Trim(TextBos2.Value) Then
改成
If (Trim(ThisWorkbook. Sheets("UserLoginInfor").Cells(i, 1).Value)) = Trim(TextBox1.Value) And (Trim(ThisWorkbook.Sheets("UserLoginInfor").Cells(i, 2).Value)) = Trim(TextBos2.Value) Then
这种错误不应该啊,而且报错时候也定位到这行了,检查这行就行。仔细一点嘛
#4
josephlzh2017-04-13 12:56
回复 3楼 xiangyue0510
老哥稳,新手太菜了,可是缺少对象我就想不通了,我感觉没少呢
只有本站会员才能查看附件,请 登录
#5
xiangyue05102017-04-13 16:00
TextBos2??
还有一个地方是MyLoginSatus 应该是 MyLoginStatus
你这种情况,两个建议:
1. 利用VB的自动修改大小写的功能,前面定义变量时用混用大小写,比如 Dim MyRecordset
   后面写代码的时候不必刻意去按照前面的大小写输入,其实最好不要, 直接输入myrecordset。 VB就可以自动修改为MyRecordset。
   如果输入错误,那就不会变。这个方法可以有效的避免手误。   
2. 学VB或者其他编程,不能不会调试。 代码调试时出错,添加监视去看看每一个变量的数值是否正确。
#6
josephlzh2017-04-13 16:30
回复 5楼 xiangyue0510
谢谢您了,我对这东西真是一窍不通
1