Realización de cálculos VBA Excel erróneos
Resulta que tengo un contrato con un proveedor.
El problema que tengo es que cuando el gasto que voy a introducir sea mayor al dinero que quede del contrato de proveedor se muestre un MSGBOX y no me deje introducir los datos.
El problema es que he puesto en datos del contrato 1.000.000.000 euros y si pongo un numero alto como 999.999 me salta el MSGBOX y no entiendo el porque.
Si pongo 92 si que me deja
Private Sub Enviar_Click() If falta_gastar.value < total.value Then MsgBox (" El PREU TOTAL és superior al la quantitat que resta del contracte. La quantitat disponible és de " & falta_gastar.value & " €") Total.setfocus Exit Sub Else If totalArt > 0 Then For i = 0 To totalArt - 1 Dades_taulaRow.Range(i + 1, 1).value = Me.num_consecutiu.Caption Dades_taulaRow.Range(i + 1, 2).value = Me.num_equipament_final.Caption Dades_taulaRow.Range(i + 1, 3).value = Me.tipologia_final.Caption Dades_taulaRow.Range(i + 1, 4).value = Me.nom_equipament_final.Caption Dades_taulaRow.Range(i + 1, 5).value = Me.municipi.value Dades_taulaRow.Range(i + 1, 6).value = Me.comarca.value Dades_taulaRow.Range(i + 1, 7).value = Me.provincia.value Dades_taulaRow.Range(i + 1, 8).value = Me.Entitat.Caption Dades_taulaRow.Range(i + 1, 9).value = Me.programa_final.Caption Dades_taulaRow.Range(i + 1, 10).value = Me.FA_final.Caption Dades_taulaRow.Range(i + 1, 11).value = Me.pad_final.Caption Dades_taulaRow.Range(i + 1, 12).value = Me.proveidor_final.Caption Dades_taulaRow.Range(i + 1, 13).value = Me.list_productes.List(i, 0) Dades_taulaRow.Range(i + 1, 14).value = Me.list_productes.List(i, 1) Dades_taulaRow.Range(i + 1, 15).value = Me.total_pad.Caption Dim Cel As Range For Each Cel In Range("O3:O9999") If Not IsNumeric(Cel.value) Then Cel.value = WorksheetFunction.Trim(Cel.value) ElseIf TypeName(Cel.value) = "String" Then Cel.value = Cel.value + 1 - 1 End If Next Cel Dades_taulaRow.Range(i + 1, 16).value = Me.data.value Next i Else MsgBox "No hi ha material a la llista", vbInformation, "Res..." Exit Sub End If End If MsgBox ("ENREGISTRAT CORRECTAMENT") End sub
3 respuestas
Respuesta de Carlos Arrocha
1
Respuesta
1
Respuesta de Andy Machin
1