2016-10-26 1 views
0

私はユーザーフォームを作成していますが、同じ量を入力する必要がありますが、異なるブレークダウンを3回入力する必要があります。私は、これらの3つの領域で金額が等しいかどうかをリアルタイムでユーザーに警告できるテキストボックスを作成したいと考えています。セル値が等しくないときにメッセージを表示するテキストボックスを希望します

私の簡単なロジックとコードを以下に記載されている:第一内訳の

和 - 第二内訳の合計 - 第三内訳= 0の合計は、真の意味します。

最終的に機能しました!

Private Sub CheckSum1() 

'Sum of 1st - 3rd breakdown 
On Error Resume Next 
Me.CCTotal = (IIf(Me.Cash.Value = vbNullString, 0, Me.Cash) + 0) + (IIf(Me.CCash.Value = vbNullString, 0, Me.CCash) + 0) - (IIf(Me.TotalBox1 = vbNullString, 0, Me.TotalBox1) + 0) 

End Sub 

Private Sub CheckSum() 

'Sum 2nd break down - 3rd breakdown 
On Error Resume Next 
Me.Test = (IIf(Me.MCash.Value = vbNullString, 0, Me.MCash) + 0) + (IIf(Me.PCash.Value = vbNullString, 0, Me.PCash) + 0) - (IIf(Me.TotalBox1 = vbNullString, 0, Me.TotalBox1) + 0) 

End Sub 


Private Sub CheckTotal_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 

'Use a label to check if both are 0 
If (IIf(Me.Test.Value = vbNullString, 0, Me.Test) + 0) And (IIf(Me.CCTotal.Value = vbNullString, 0, Me.CCTotal) + 0) <> 0 Then 
CheckTotal.Caption = "Match" 
Finish.Enabled = False 
Else 
    CheckTotal.Caption = "Unmatch" 
    Finish.Enabled = True 
    End If 

End Sub 

Private Sub CCtotal_Change() 

Call CheckSum 
Call CheckSum1 

End Sub 

Private Sub TotalBox1_Change() 

Call CheckSum 
Call CheckSum1 

End Sub  
+1

あなたの実際の問題は何? –

+0

'CheckTotal_Change'ハンドラで' CheckTotal'を変更することはできません。そうすることで再び変更され、再びイベントが発生し、再びイベントが発生し、イベントが再開されます。常識的にはうまくいかないことが分かりますか? –

答えて

0

あなたもそれを無効にする必要がないようにだけ、(あなたがCheckTotal後に名前を付けておくことができます)TextBox 1の代わりにLabelコントロールを使用して、ユーザーに通知する必要があるため(ユーザーことができます「Tは書き込み当時)

をラベルコントロールを編集します。

If (CDbl(MCash.Text) + CDbl(PCash.Text)) - (CDbl(Cash.Text) + CDbl(CCash.Text)) - (CDbl(SubTypeCash1.Text) + CDbl(SubTypeCash2.Text) + CDbl(SubtypeCash3.Text)) = 0 Then 
    CheckTotal.Caption = "Match!" 
Else 
    CheckTotal.Caption = "NOT Match!" 
End If 
+0

こんにちは、いくつかの理由で、あなたの種類の入力のおかげで、コードはエラーなしで動作しますが、ラベルは何も表示されません、私はラベルをリアルタイムで更新するためにオンにする必要がありますか?私はこのような単純なステートメントを作成しようとしました:もしtextbox.valueが<> 0ならばlabel.caption = "Y" Else "N" –

+0

あなたはそのコードをどのサブに入れましたか?ラベルの名前は何ですか? – user3598756

+0

最後に、私はコードが動作している!私はオリジナルを編集する。 –

関連する問題