Avatar billede m_fisker Nybegynder
22. november 2005 - 11:41 Der er 14 kommentarer

VBA - beregn

hey..

kan man ikke lave en Text felt hvor man indtaster "+5+5-2" ind. og så beregner den det og giver et output med svaret " talet blev 8"
Avatar billede kabbak Professor
22. november 2005 - 11:58 #1
Private Sub CommandButton1_Click()
Ind = Replace(TextBox1, ",", ".")
TextBox2 = Val(Ind)
End Sub
Avatar billede kabbak Professor
22. november 2005 - 12:03 #2
nææ, det virker ikke
Avatar billede martin_moth Mester
22. november 2005 - 15:13 #3
Du starter dit Visual Basic projekt op, henter komponenten:

Microsoft Script Control

tager en eller anden form frem, tager Script Control icon'et fra toolbox'en og sætter den på din form.

Den får så automatisk navnet ScriptControl1, hvilket så kan ændres.
Herefter vil du i koden til denne form kunne skrive f.eks.:

dim tmpVal as Single

tmpVal = CSng(ScriptControl1.Eval("(2+4-5*2)/(5+2*2)"))

Har du noget ÆLDRE end win2000 skal du først hente en OCX og få den registreret. Har du det?
Avatar billede bak Seniormester
22. november 2005 - 17:21 #4
Prøv det her
Private Sub CommandButton1_Click()
TextBox2.Value = Evaluate(TextBox1.Value)
End Sub
Avatar billede bak Seniormester
22. november 2005 - 17:28 #5
Sorry, det virker jo kun i excel :-(
Avatar billede bak Seniormester
22. november 2005 - 17:44 #6
Hvis du ikke er i excel, men i fx. word, kan du under Tools/References tilvælge Microsoft excel og bruge denne metode

Private Sub CommandButton1_Click()
TextBox2.Value = Excel.Evaluate(TextBox1.Value)
End Sub
Avatar billede martin_moth Mester
22. november 2005 - 19:41 #7
Doh - havde ikke set at det var VBA - troede det var VB6. Mit svar gælder for VB6 - ved ikke om det virker for VBA
Avatar billede martin_moth Mester
24. november 2005 - 20:55 #8
m_fisker?
Avatar billede martin_moth Mester
29. november 2005 - 10:36 #9
Hallo?
Avatar billede m_fisker Nybegynder
01. december 2005 - 14:53 #10
der ikke noget af det der virker.. Men tak
Avatar billede martin_moth Mester
01. december 2005 - 15:30 #11
Jeg tror ikke jeg vil bruge 3 sek. mere på at prøve at hjælpe dig, jf. http://exp.dk/spm/667987
Avatar billede bak Seniormester
01. december 2005 - 19:08 #12
Her er jeg enig med Martin. Det var s.. da en mærkværdig måde at svare en, hvis eneste ønske er, at du nedlader dig til at give en tilbagemelding.
Vi forsøger at hjælpe andre og vi gør det gratis, så det mindste man kan gøre, er at give respons.
I øvrigt virker forslagene glimrende.
/Bak, 47 år
Avatar billede m_fisker Nybegynder
02. december 2005 - 10:23 #13
bak.
Jeg skulle bruge hjælp i VBA ikke VB
Og lukker min svar når der gået et længer tid.. for hvis der er nogle der kommer med et beder svar.
Og stadig.. jeg vil stadig finde min fulde ret om at jeg må opratte så mange spørgsmål jeg vil..
Avatar billede martin_moth Mester
02. december 2005 - 11:13 #14
Så kunne du jo passende bede bak om at smide et svar, tildele ham points og lukek spørgsmålet. Eller forklare, hvad du mener der skal forbedres i svaret.

Der er INGEN der anfægter din ret til at stille mange spørgsmål. Stil du blot alle dem du vil... Men der er nu en mindre til at svare på dem
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester