Formule in tekstvak berekenen

Status
Niet open voor verdere reacties.

dondersgoei

Nieuwe gebruiker
Lid geworden
10 sep 2011
Berichten
3
Ik heb een sheet met een aantal tekstvakken erop. Nu wil ik dat als je in een tekstvak een formule ingetoetst hebt dat deze bij _lostfocus berekend wordt maar ik krijg het maar niet voor mekaar.
Wat ik dus wil in een tekstvak is net als wat excel doet als je in een cel =1+1 zet bijvoorbeeld. Hoe kan ik dit nou voor mekaar krijgen? Ik heb heel internet al afgestruind maar het lijkt wel alsof het zo simpel is dat het nergens te vinden is.
Kan iemand mij helpen?
 
Zo zou het moeten lukken.
Geen '=' teken typen; dus gewoon 1+1 invullen.
Code:
Private Sub TextBox1_LostFocus()
 With WorksheetFunction
  TextBox1.Value = CDec(Left(TextBox1, .Search("+", TextBox1, 1) - 1)) + CDec(Mid(TextBox1, .Search("+", TextBox1, 1) + 1, 99))
 End With
End Sub
 
Ik had gedacht dat het op de een of andere manier ook wel mogelijk was dat vba een formule gewoon kon uitrekenen maar dit is dus niet mogelijk?
Wat ik nu gedaan heb om toch dezelfde opties als in een cel te kunnen gebruiken:
Code:
Private Sub TextBox1_LostFocus()
ActiveSheet.Range("A1").Value = "=" & TextBox1.Value
TextBox1.Value = ActiveSheet.Range("A1")
ActiveSheet.Range("A1").Clear
End Sub
 
zo:?

Code:
TextBox1.Value = Evaluate(TextBox1.Value)
 
Da’s beter Eric, :thumb:

Ik heb er nog aan gedacht, ik ken het als gedefiniëerde naam op celniveau.
Maar het is me ontgaan voor VBA. :o
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan