Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 26
Default Textbox on user form type mismatch

I have a textbox on a user form that is giving me an error when a
number is entered in. This number is a percent and the code for the
textbox is:

Private Sub TextBox35_AfterUpdate()
If IsNumeric(Me.TextBox35.Value) Then
Me.TextBox35.Value = Format(CDbl(TextBox35) / 100, "0.00%")
End If
End Sub

This works fine only if I enter a whole number(?), meaning, 10, 12, 30,
44 all will work. But if I enter 10.3, then I get the error. Any
thoughts on where I'm going wrong?

There is another button on the form that when clicked will mulitply
textbox1 x textbox35 + textbox1. So the flow is: 1) a value is in
textbox1, 2) I enter in a 'markup', say 10.5 and click the button. The
error comes up at that point, again, only if I use a '.'....in
textbox35.

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 55
Default Textbox on user form type mismatch

Gimp,

The code you showed works fine when I use it. What line of code is
highlighted when you get the type mismatch error? From your description, it
sounds like the error is happening somewhere else in your code.

Doug

"Gimp" wrote in message
oups.com...
I have a textbox on a user form that is giving me an error when a
number is entered in. This number is a percent and the code for the
textbox is:

Private Sub TextBox35_AfterUpdate()
If IsNumeric(Me.TextBox35.Value) Then
Me.TextBox35.Value = Format(CDbl(TextBox35) / 100, "0.00%")
End If
End Sub

This works fine only if I enter a whole number(?), meaning, 10, 12, 30,
44 all will work. But if I enter 10.3, then I get the error. Any
thoughts on where I'm going wrong?

There is another button on the form that when clicked will mulitply
textbox1 x textbox35 + textbox1. So the flow is: 1) a value is in
textbox1, 2) I enter in a 'markup', say 10.5 and click the button. The
error comes up at that point, again, only if I use a '.'....in
textbox35.



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 812
Default Textbox on user form type mismatch

It worked for me, too. Be more specific about the error and maybe post
the line of code that produces it. Also, I did try Val("10.00%") and
Val("10.30%) in the Immediate Window. The first worked and the second
gave a type mismatch error. I don't know why. In any case, rather than
trying to do arithmetic with text variables, you might try converting
them to numbers first.

HTH,
Merjet

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 812
Default Textbox on user form type mismatch

Also, I did try Val("10.00%") and Val("10.30%) in the Immediate Window.

Oops. I meant Val("10.30%")

Merjet

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 26
Default Textbox on user form type mismatch

Thanks for all checking into this. Yeah, I get the debug error when I
click the button and 10.5 (for example) is in textbox35..here is the
code to that button:

Private Sub CommandButton6_Click() ' The RECAL Button
If TextBox33.Value = "" And TextBox35 = "" Or TextBox32.Value = "" Then
MsgBox "In order to ReCalc: There must be a Total or A Markup OR A
Discount Entered"
'TextBox34.Value = ""
Exit Sub
Else
If TextBox33.Value < "" And TextBox35 = "" Then
TextBox34.Value = TextBox32.Value - TextBox33.Value
Else
If TextBox33.Value < "" And TextBox35.Value < "" Then
TextBox34.Value = TextBox32.Value + (Val(TextBox35.Value) / 100
* TextBox32.Value) - TextBox33.Value
Else
If TextBox33.Value = "" And TextBox35.Value "0.01" Then
ERROR ON THIS LINE TextBox34.Value = TextBox32.Value +
(Val(TextBox35.Value) / 100 * TextBox32.Value)
End If
End If
End If
End If

TextBox34.Text = Format(TextBox34.Text, "currency")
end sub

I added the comment there error on this line....of course...


merjet wrote:
Also, I did try Val("10.00%") and Val("10.30%) in the Immediate Window.


Oops. I meant Val("10.30%")

Merjet




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 812
Default Textbox on user form type mismatch


ERROR ON THIS LINE TextBox34.Value = TextBox32.Value +
(Val(TextBox35.Value) / 100 * TextBox32.Value)


I suspect Val(TextBox35.Value) is the problem, like Val("10.30%")
was for me. So maybe you should avoid doing arithmetic with text
variables, and use numbers instead.

HTH,
Merjet

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
#13 type mismatch error on user form for Dave Peterson Janis Excel Discussion (Misc queries) 5 January 17th 08 07:35 PM
#13 type mismatch error on user form Janis Excel Programming 0 September 4th 06 07:11 PM
Type Mismatch: array or user defined type expected ExcelMonkey Excel Programming 4 July 6th 06 03:40 PM
Help: Compile error: type mismatch: array or user defined type expected lvcha.gouqizi Excel Programming 1 October 31st 05 08:20 PM


All times are GMT +1. The time now is 07:28 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"