タイトル : Re: 恥ずかしい 投稿日 : 2008/02/14(Thu) 08:56 投稿者 : K・今川
プログラムをよく見てください。 >If hata = "県" Then > MyFile2 = fkenna > fkenna = "" > MsgBox MyFile2 & "県です。" hata = "署" '<<<<hataが"署"に書き換えられています。 > MsgBox hata > MsgBox MyFile2 & "#$" > Call kennaa 'Private Sub kennaaの2回目の処理進む >Else >End If > If hata = "署" Then '<<<<hataが"署"に書き換えられているので実行します。 > MyFile3 = fkenna > fkenna = "" > MsgBox MyFile3 & "署です。" hata = "事" '<<<<hataが"事"に書き換えられています。 > Call kennaa 'Private Sub kennaaの3回目の処理進む >Else >End If > If hata = "事" Then '<<<<hataが"事"に書き換えられているので実行します。 > MyFile4 = fkenna > fkenna = "" > MsgBox MyFile4 & "事務所です。" hata = "基本" '<<<<hataが"基本"に書き換えられています。 > Call kennaa 'Private Sub kennaa4回目の処理進む >Else >End If If hata = "基本" Then '<<<<hataが"基本"に書き換えられているので実行します。 > MyFile6 = fkenna > fkenna = "" > MsgBox MyFile6 & "です。" > hata = "基本1" > Call kennaa 'Private Sub kennaa5回目の処理進む >Else >End If つまり、前のIf文でhataの内容が変わっているためにすべてのIf文内部が実行されます。 hataの内容を"基本"、"事"、"署"、"県"の順に調べるか 下のようにIf文をElseIfで繋げば正常に動くはずです。 If hata = "県" Then MyFile2 = fkenna fkenna = "" MsgBox MyFile2 & "県です。" hata = "署" MsgBox hata MsgBox MyFile2 & "#$" Call kennaa 'Private Sub kennaaの2回目の処理進む ElseIf hata = "署" Then MyFile3 = fkenna fkenna = "" MsgBox MyFile3 & "署です。" hata = "事" Call kennaa 'Private Sub kennaaの3回目の処理進む ElseIf hata = "事" Then MyFile4 = fkenna fkenna = "" MsgBox MyFile4 & "事務所です。" hata = "基本" Call kennaa 'Private Sub kennaa4回目の処理進む ElseIf hata = "基本" Then MyFile6 = fkenna fkenna = "" MsgBox MyFile6 & "です。" hata = "基本1" Call kennaa 'Private Sub kennaa5回目の処理進む End If |