Formel = (TxtFastAv.Text + TxtOvrigFast.Text) + ((TxtOverForning.Text + TxtElpris.Text) + 0.18) * TxtYear.Text Hej Formel = (Val(TxtFastAv.Text) + Val(TxtOvrigFast.Text)) + ((Val(TxtOverForning.Text)+ Val(TxtElpris.Text)) + 0.18) * val(TxtYear.Text) Hej Punkt gäller om man har svenskt Windows och komma gäller om man har engelsk Windows. Jo det är riktigt För att slippa problemet med . eller . (komma eller punkt) använd funktion sweval() istället för val().Räkna med VB
Formel = Formel * TxtAntal
Denna i mitt tycke, vackra kod , gillas inte av VB.
skulle det gå bättre om jag tog bort ".Text" ?
/MikaelSv: Räkna med VB
Du kan inte addera textsträngar.
Stockholm + Kanin + morötter "make no sens"
du bör omvandla TextBoxarnas värde till nummeriska värde.
Så här skulle det kunna se ut.
Dim Formel As Double
Formel = (CDbl(TxtFastAv.Text) _
+ CDbl(TxtOvrigFast.Text) _
+ CDbl(TxtOverForning.Text) _
+ CDbl(TxtElpris.Text) _
+ 0.18) * CDbl(TxtYear.Text)
Formel = Formel * CLng(TxtAntal)
Label1 = Format$(Formel, "0.00")
mvh
SvenSv: Räkna med VB
Sv: Räkna med VB
Val(Text1.Text) är lite lurigt. Du måste då försäkra dig
om att användaren slår in punkt (.) som decimalavskiljare
annnars blir det felräknat.
Med CDbl tex. använder programmet datorns lokala inställningar.
mvh
SvenSv: Räkna med VB
Sv: Räkna med VB
Men den Svenska användern kommer att skriva kommatecken
automatiskt, det är vi vana med.
DSSv: Räkna med VB
Skriv följande i modulen
Function sweval(ByVal w As String) As Double
Yz = InStr(w, ",")
If Yz > 0 Then Mid$(w, Yz, 1) = "."
sweval = Val(w)
End Function
ex. a=sweval(text1.text)+sweval(text2.text)