2016-12-13 5 views
0

私は検索していて、私のエラーの原因が何であるかを見つけることができません。 私は財務報告書の処理を支援するためにExcelでVBAアプリケーションを作成しています。私は基本的な機能を完全に持っており、エンドユーザーがログインして乗算器を変更できるようにAdmin関数を構築しようとしています。 私は2つのユーザーフォーム、frmLoginとfrmAdminを持っています。run-time 424 error commandform_clickからuserformを開く

frmLogin - 非常に基本的ですが、frmAdmin.Showを実行しようとすると実行時に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 

WorkbookRefreshはModule1のから呼び出されます。

ご協力いただきますようお願い申し上げます。

スティーブン

+0

を意味だと思いますか?フォームを開く前に 'civa.Value'とは何ですか?私は '' civa''が 'frmAdmin'の何らかの制御であると仮定しています。おそらくその行を逆にする必要がありますか? – OpiesDad

+0

おかげさまで@OpiesDadが逆転し、シート(「設定」)を作成しましたが、問題を修正したようです。 – user2525062

+1

'ActiveWorkbook.Save'はパラメータをとりません。 'SaveChanges:= True'を削除する必要があります。 –

答えて

0

Settings.Range("b2") = civa.ValueUserForm_Initialize()イベントに意味がありません。

civaはフォーム上のコントロールであり、まだ値がないため、シート内のセルに値を割り当てるために使用することはできません。

代わりに、私はあなたが `Settings.Range( "B2")= civa.Value`を持っていないのはなぜciva.Value = Settings.Range("b2")

関連する問題