Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Backspace brings up an error

I have a userform with 4 textboxes for 4 different sets of numerical
data, which are then processed to give a result.
The basic code for each is:
Public Sub TextBox1_Change()
Dim current As Single
current = TextBox1.Text

When the correct data is put in all works fine, but if I make a
mistake and use backspace to delete the entry so I can put in the
correct numbers I get a "Run Time error 13, Type mismatch", when the
first number is deleted (ie the last to be removed by the backspace).

The debug highlights the current = terxtbox1.text line but that's it.
Can anyone please put me right so I can just change the numbers by
backspace?
Thanks
Tony
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Backspace brings up an error

Try changing the delcaration of Current to

Dim current As String


If you need to convert this to a number use the VAL function

Dim current As Single
current = Val(TextBox1.Text)


"Greybeard" wrote:

I have a userform with 4 textboxes for 4 different sets of numerical
data, which are then processed to give a result.
The basic code for each is:
Public Sub TextBox1_Change()
Dim current As Single
current = TextBox1.Text

When the correct data is put in all works fine, but if I make a
mistake and use backspace to delete the entry so I can put in the
correct numbers I get a "Run Time error 13, Type mismatch", when the
first number is deleted (ie the last to be removed by the backspace).

The debug highlights the current = terxtbox1.text line but that's it.
Can anyone please put me right so I can just change the numbers by
backspace?
Thanks
Tony

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,501
Default Backspace brings up an error

Hi,

2 ways
current = Val(TextBox1.Text)

or
If TextBox1.Text < "" Then
current = TextBox1.Text
End If

You seem to have a data type confusion with current dimensioned as Single
while taking the value .text

Mike



"Greybeard" wrote:

I have a userform with 4 textboxes for 4 different sets of numerical
data, which are then processed to give a result.
The basic code for each is:
Public Sub TextBox1_Change()
Dim current As Single
current = TextBox1.Text

When the correct data is put in all works fine, but if I make a
mistake and use backspace to delete the entry so I can put in the
correct numbers I get a "Run Time error 13, Type mismatch", when the
first number is deleted (ie the last to be removed by the backspace).

The debug highlights the current = terxtbox1.text line but that's it.
Can anyone please put me right so I can just change the numbers by
backspace?
Thanks
Tony

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Backspace brings up an error

On 25 Oct, 10:29, Mike H wrote:
Hi,

2 ways
current = Val(TextBox1.Text)

or
If TextBox1.Text < "" Then
* * current = TextBox1.Text
End If

You seem to have a data type confusion with current dimensioned as Single
while taking the value .text

Mike

"Greybeard" wrote:
I have a userform with 4 textboxes for 4 different sets of numerical
data, which are then processed to give a result.
The basic code for each is:
Public Sub TextBox1_Change()
Dim current As Single
current = TextBox1.Text


When the correct data is put in all works fine, but if I make a
mistake and use backspace to delete the entry so I can put in the
correct numbers I get a "Run Time error 13, *Type mismatch", when the
first number is deleted (ie the last to be removed by the backspace).


The debug highlights the current = terxtbox1.text line but that's it.
Can anyone please put me right so I can just change the numbers by
backspace?
Thanks
Tony


Hi,
Thanks to all of you who replied.
Through lots of trial and error (no pun intended) I have actually got
it to work fine using the following in each of the 4 subs for each of
the Textboxes:
Public Sub TextBox1_Change()
Dim current As Single
On Error Resume Next
current = TextBox2.Text
End Sub
It's probably all wrong, but it does not have any adverse effects on
the overall running of the whole programme so, as a pragmatist, it's a
case of 'if it works don't fix it'.
Regards Tony
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,986
Default Backspace brings up an error

You did not get it to work, you only got it to quit sending the error
message. But if it satisfies you, then that is all that matters.

"Greybeard" wrote:

On 25 Oct, 10:29, Mike H wrote:
Hi,

2 ways
current = Val(TextBox1.Text)

or
If TextBox1.Text < "" Then
current = TextBox1.Text
End If

You seem to have a data type confusion with current dimensioned as Single
while taking the value .text

Mike

"Greybeard" wrote:
I have a userform with 4 textboxes for 4 different sets of numerical
data, which are then processed to give a result.
The basic code for each is:
Public Sub TextBox1_Change()
Dim current As Single
current = TextBox1.Text


When the correct data is put in all works fine, but if I make a
mistake and use backspace to delete the entry so I can put in the
correct numbers I get a "Run Time error 13, Type mismatch", when the
first number is deleted (ie the last to be removed by the backspace).


The debug highlights the current = terxtbox1.text line but that's it.
Can anyone please put me right so I can just change the numbers by
backspace?
Thanks
Tony


Hi,
Thanks to all of you who replied.
Through lots of trial and error (no pun intended) I have actually got
it to work fine using the following in each of the 4 subs for each of
the Textboxes:
Public Sub TextBox1_Change()
Dim current As Single
On Error Resume Next
current = TextBox2.Text
End Sub
It's probably all wrong, but it does not have any adverse effects on
the overall running of the whole programme so, as a pragmatist, it's a
case of 'if it works don't fix it'.
Regards Tony

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
backspace key Mark Barnard Excel Programming 3 October 10th 08 10:46 PM
No Backspace key in VBA Debugger Help Mac Lingo Setting up and Configuration of Excel 1 September 30th 08 01:54 AM
Delete row if formula brings back an error keri Excel Programming 2 December 14th 06 11:45 AM
vbBack... not like a backspace rci Excel Programming 1 November 22nd 06 08:46 PM
Backspace and percentage, please help broogle Excel Programming 1 January 6th 05 09:29 AM


All times are GMT +1. The time now is 11:44 PM.

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

About Us

"It's about Microsoft Excel"