运行时424错误从commandbox_click打开userform

时间:2016-12-13 23:30:14

标签: excel vba

我一直在搜索,无法找到错误原因。 我在Excel中创建VBA应用程序以协助处理财务报告。我已经完成了基本功能,并且正在尝试构建一个Admin函数,以允许最终用户登录并更改等式中的乘数。 我有2个用户表单,frmLogin和frmAdmin。

frmLogin - 非常基本,但是当它尝试做frmAdmin时,我得到运行时424错误。

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 Sub

frmAdmin

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。

任何帮助将不胜感激。

史蒂芬

1 个答案:

答案 0 :(得分:0)

Settings.Range("b2") = civa.ValueUserForm_Initialize()事件中没有意义。

由于civa是表单上的控件,但它还没有值,因此您无法使用它为表格中的单元格指定值。

相反,我认为你的意思是civa.Value = Settings.Range("b2")