Worksheetfunction.sum werkt niet

Status
Niet open voor verdere reacties.

joren99

Nieuwe gebruiker
Lid geworden
13 sep 2010
Berichten
1
Hallo iedereen,

ik ben een beginneling in het werken met VBA en zit dus regelmatig vast, maar nu heb ik een probleem waar ik echt het antwoord niet op weet. Ik heb met vba een soort programmaatje gemaakt waarin de gebruiker eerst enkele waarden moet ingeven. daarna verschijnt er een formulier met deze waarden in, deze waarden worden daarna automatisch vermenigvuldigt met vast waarden uit TextBoxen. Daarna wordt de som gemaakt van deze uitkomsten. Voor dit laatste heb ik WorksheetFunction.Sum gebruikt. Dit werkt goed tot er decimale getallen ingevoerd worden. dan geeft hij de foutmelding: "Fout 1004 tijdens uitvoering: Eigenschap Sum van klasse WorkSheetFuntion kan niet worden opgehaald". De regel waar hij telkens weer naar verwijst is de volgende:

TextBox64 = WorksheetFunction.Sum(TextBox51, [TextBox62], [TextBox61], [TextBox60])
TextBox1.Text = WorksheetFunction.Sum(TextBox64.Value, [TextBox59.Value], [TextBox58.Value], [TextBox57.Value], [TextBox56.Value], [TextBox55.Value], [TextBox54.Value], [TextBox53.Value], [TextBox52.Value])

MsgBox ("De uitkomst is € " & TextBox1)


Weet iemand raad?
 
tja het is een vreemde manier om gebruik te maken van excel (het is neem ik aan excel). Als je decimaal zegt, vul je dan in met punten of comma's ? probeer dat eens om te draaien.

makkelijkste is echter om excel ook te gebruiken voor excel activiteiten, zoals veel dingen optellen ;)
 
Code:
TextBox64 = Val(TextBox51) + Val(TextBox62) + Val(TextBox61) + Val(TextBox60)
 
Pas op met tekstwaarden converteren naar getallen.

Code:
Val("1,231")
Geeft bij mij: 1

Code:
Val("1.231")
Geeft bij mij: 1,231

Dit is volgens mij ook afhankelijk van je systeeminstellingen. kan iemand dit bevestigen?
ik gebruik voor de veiligheid soms Format of Replace, om eventuele foutieve gebruikers input te corrigeren.

Ik heb overigens nog nooit textbox gebruikt om waarden bij elkaar op te tellen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan