2017-07-23 1 views
1

Je dispose d'une combinaison feuille de calcul/userform qui demande à l'utilisateur de calculer le prix du produit/pourcentage de taxe/en pieds carrés en contrepartie du coût total du revêtement dans l'une des zones de texte de l'userform.Format VBA Format utilisateur

Mon userform calcule tout correctement, mais j'essaye de comprendre comment formater la boîte de sortie de sorte qu'elle n'affiche que des valeurs dépassant deux chiffres après la décimale (c'est-à-dire $ 1.00). Actuellement, il affiche jusqu'à quatre chiffres ou plus au-delà de la décimale (comme indiqué dans les zones de texte Surface totale, Montant de l'impôt et Prix final).

enter image description here

Mon code formUtilisateur est la suivante (je suis parti quelques sections non pertinentes qui ont dû faire avec l'ouverture et la fermeture du userform, mais tout ce qui a à voir avec le fonctionnement de celui-ci est là):

Public Sub SumTool() 

    Dim A, B, C, D, E, F As Double 
    Dim x As Double 
    Dim finalSum As Double 
    Dim addUp As Double 
    Dim BeforePercent As Double 
    Dim Prcnt As Double 
    Dim percentALT As Double 
    Dim percentSum As Double 
    Dim i As Integer 


    addUp = 0 
    finalSum = 0 
    BeforePercent = 0 
    x = 0 
    i = 0 

'These are all area measurements 

    A = 280 
    B = 118 
    C = 96 
    D = 243 
    E = 38 
    F = 83 

    Do While i < 1 

'These are checks to see if checkboxes in the userform are True/False and 
'correspond to the area measurements above 

    If LR.Value = True Then   
    x = x + A 
    Else 
    x = x 
    End If 

    If BR1.Value = True Then 
    x = x + B 
    Else 
    x = x 
    End If 

    If BR2.Value = True Then 
    x = x + C 
    Else 
    x = x 
    End If 

    If KT.Value = True Then 
    x = x + D 
    Else 
    x = x 
    End If 

If BA.Value = True Then 
    x = x + E 
Else 
    x = x 
End If 

If HALL.Value = True Then 
    x = x + F 
Else 
    x = x 
End If 

i = i + 1 

Loop 

'I have different calculations because the user has the option of 
'whether they want to include tax or not. If they do not (first option) 
'no special conversions have to take place. If they do, the program has to 
'take the entry and convert it from 5 or 10 to 0.05 or 0.10 and then carry 
'forward with the rest of the operations 

    If Me.Y.Value = False Then 

    Prcnt = 0 
    addUp = x 
    finalSum = addUp * Me.ProductPrice.Value 
    Me.FinalResultsBox.Value = finalSum 
    Me.SqFtBox.Value = addUp 
    Me.TaxAmountValue.Value = 0 

    Else 

    Prcnt = Me.SalesTaxNumber.Value 
    addUp = x 
    percentALT = Prcnt * 0.01 
    BeforePercent = addUp * Me.ProductPrice.Value 
    percentSum = percentALT * BeforePercent 
    finalSum = BeforePercent + percentSum 
    Me.FinalResultsBox.Value = finalSum 
    Me.SqFtBox.Value = addUp 
    Me.TaxAmountValue.Value = percentSum 

    End If 

End Sub 

Répondre

1

Vous pouvez essayer quelque chose comme ça ...

Me.FinalResultsBox.Value = Format(finalSum, "$0.00") 
+0

Oh, mec. Je vous remercie! C'était juste ce dont j'avais besoin. – McBraunie

+0

De rien! :) – sktneer