我一直在搜索,但找不到导致我出错的原因。我正在Excel中创建一个VBA应用程序来帮助处理财务报表。我已经完成了基本的功能,并试图建立一个管理功能,以允许最终用户登录,并改变等式中的乘数。我有两个用户表单,frmLogin和frmAdmin。
frmLogin -非常基础,但是当它尝试运行frmAdmin.Show时,我得到了run-time424错误。
frmLogin
Private Sub LoginButton_Click()
If Me.txtUsername.Value = "Admin" Then
If Me.txtPassword.Value = "password" Then
Unload Me
frmAdmin.Show
Exit Sub
Else
MsgBox "Sorry, Incorrect Login Details"
Me.txtUsername.SetFocus
End If
Else
MsgBox "Sorry, Incorrect Login Details"
Me.txtUsername.SetFocus
End If
End SubfrmAdmin
Private Sub Save_Click()
Workbook_Refresh
SaveBackup
SaveSettings
CloseForm
End Sub
Private Sub Update_Click()
civa.Value = Sheets("Settings").Range("b1")
oral.Value = Sheets("Settings").Range("b2")
End Sub
Private Sub UserForm_Initialize()
Settings.Range("b2") = civa.Value
Settings.Range("b3") = oral.Value
End Sub
Private Sub SaveSettings()
ActiveWorkbook.Save SaveChanges:=True
End Sub
Private Sub CloseForm()
Application.Goto Worksheets("Home Screen").Range("D4")
Unload Me
End Sub从Module1调用WorkbookRefresh。
任何帮助都将不胜感激。
史蒂文
发布于 2016-12-15 02:21:17
在UserForm_Initialize()事件中,Settings.Range("b2") = civa.Value没有意义。
因为civa是表单上的一个控件,所以它还没有值,所以您不能使用它为工作表中的单元格赋值。
相反,我想你指的是civa.Value = Settings.Range("b2")
https://stackoverflow.com/questions/41132359
复制相似问题