View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson[_5_] Dave Peterson[_5_] is offline
external usenet poster
 
Posts: 1,758
Default Text Box Format

How about something like:

Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TextBox1
If IsNumeric(.Value) Then
.Value = Round(.Value, 2)
Else
.Value = "Numeric Please"
.SelStart = 0
.SelLength = Len(.Value)
Beep
Cancel = True
End If
End With
End Sub


gregork wrote:

Thanks for the help guys. I have used Robert's code and it works fine except
for when the text box value = "", then I get a type mismatch error. Any
suggestions how to prevent this from happening?

Regards
Greg

"Robert Bradshaw" wrote in message
...
gregork wrote:
I have a textbox on a user form that displays data from a worksheet. How

can
I format the text box so that it only displays a number to 2 decimal

places?

Cheers
Greg


or in the lostfocus code for the textbox:

Private Sub TextBox1_LostFocus()
TextBox1.Value = Round(TextBox1.Value, 2)
End Sub


--

Dave Peterson