SOMA - OS CENTAVOS NAO SOMAM
Estou somndo uma coluna de um mshflexgrid, mas os centavos não estão somando, o q estou fazendo de errado?
'SOMAR DEBITO
MSHCONTA.Col = 9
DEBITO.Caption = "0"
For i = 1 To MSHCONTA.Rows - 1
MSHCONTA.Row = i
DEBITO.Caption = Val(DEBITO.Caption) + Val(MSHCONTA.Text)
Next
'SOMAR CREDITO
CREDITO.Caption = "0"
MSHCONTA.Col = 10
For i = 1 To MSHCONTA.Rows - 1
MSHCONTA.Row = i
CREDITO.Caption = Val(CREDITO.Caption) + Val(MSHCONTA.Text)
Next
TOTAL.Caption = Format(CREDITO.Caption - DEBITO.Caption, "##,##0.00")
If TOTAL.Caption < 0 Then
TOTAL.ForeColor = vbRed
Else
TOTAL.ForeColor = vbBlue
End If
Grilo
Dê preferência a trabalhar com Variáveis, com Propriedades (Caption) só se necessitar mesmo e utilize CCur para converter para Currency. Por exemplo:
Private Sub Saldos()
Dim dTotal as Double
dTotal = 0
'SOMAR DEBITO
MSHCONTA.Col = 9
For i = 1 To MSHCONTA.Rows - 1
MSHCONTA.Row = i
dTotal = dTotal + CCur(MSHCONTA.Text)
Next
DEBITO.Caption = dTotal
'SOMAR CREDITO
dTotal = 0
MSHCONTA.Col = 10
For i = 1 To MSHCONTA.Rows - 1
MSHCONTA.Row = i
dTotal = dTotal + CCur(MSHCONTA.Text)
Next
CREDITO.Caption = dTotal
dTotal = CCur(Credito.Caption)-CCur(Debito.Caption)
TOTAL.Caption = Format(dTotal, "##,##0.00")
If dTotal < 0 Then
TOTAL.ForeColor = vbRed
Else
TOTAL.ForeColor = vbBlue
End If
* Eu não testei mas acredito que esteja certo, se não estiver poste aqui novamente, se estiver encerre o Tópico.
Bom Final de SEmana! [s68]
Dê preferência a trabalhar com Variáveis, com Propriedades (Caption) só se necessitar mesmo e utilize CCur para converter para Currency. Por exemplo:
Private Sub Saldos()
Dim dTotal as Double
dTotal = 0
'SOMAR DEBITO
MSHCONTA.Col = 9
For i = 1 To MSHCONTA.Rows - 1
MSHCONTA.Row = i
dTotal = dTotal + CCur(MSHCONTA.Text)
Next
DEBITO.Caption = dTotal
'SOMAR CREDITO
dTotal = 0
MSHCONTA.Col = 10
For i = 1 To MSHCONTA.Rows - 1
MSHCONTA.Row = i
dTotal = dTotal + CCur(MSHCONTA.Text)
Next
CREDITO.Caption = dTotal
dTotal = CCur(Credito.Caption)-CCur(Debito.Caption)
TOTAL.Caption = Format(dTotal, "##,##0.00")
If dTotal < 0 Then
TOTAL.ForeColor = vbRed
Else
TOTAL.ForeColor = vbBlue
End If
* Eu não testei mas acredito que esteja certo, se não estiver poste aqui novamente, se estiver encerre o Tópico.
Bom Final de SEmana! [s68]
Tópico encerrado , respostas não são mais permitidas