私はユーザーフォームを作成していますが、同じ量を入力する必要がありますが、異なるブレークダウンを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
あなたの実際の問題は何? –
'CheckTotal_Change'ハンドラで' CheckTotal'を変更することはできません。そうすることで再び変更され、再びイベントが発生し、再びイベントが発生し、イベントが再開されます。常識的にはうまくいかないことが分かりますか? –