#1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 19
Default Type mismatch...

When running the following Visual Basic code a run time error occurs
saying that there is a type mismatch. The name txtRemoveSheet is from a
textbox. My assumption was that it should be of type string and that
the Delete method accepted strings. Is this assumption correct? I
don't see why txtRemoveSheet is not accepted, can someone enlighten me?

Private Sub cmdDelete_Click()
Worksheets(txtRemoveSheet).Delete
txtRemoveSheet.Text = ""
End Sub

Thank you,
George
  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Type mismatch...

I don't know why it didn't work for you. Maybe it has something to do with
what's in that textbox???

You may want to share that value.

George wrote:

When running the following Visual Basic code a run time error occurs
saying that there is a type mismatch. The name txtRemoveSheet is from a
textbox. My assumption was that it should be of type string and that
the Delete method accepted strings. Is this assumption correct? I
don't see why txtRemoveSheet is not accepted, can someone enlighten me?

Private Sub cmdDelete_Click()
Worksheets(txtRemoveSheet).Delete
txtRemoveSheet.Text = ""
End Sub

Thank you,
George


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 19
Default Type mismatch...

Is it a good idea to initialize string variables before using them? How
and where would I initialize txtRemoveSheet to an empty string before
the subroutine is called?

What do you mean by "share that value"?

Thanks for the reply,
George

Dave Peterson wrote:
I don't know why it didn't work for you. Maybe it has something to do with
what's in that textbox???

You may want to share that value.

George wrote:
When running the following Visual Basic code a run time error occurs
saying that there is a type mismatch. The name txtRemoveSheet is from a
textbox. My assumption was that it should be of type string and that
the Delete method accepted strings. Is this assumption correct? I
don't see why txtRemoveSheet is not accepted, can someone enlighten me?

Private Sub cmdDelete_Click()
Worksheets(txtRemoveSheet).Delete
txtRemoveSheet.Text = ""
End Sub

Thank you,
George


  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Type mismatch...

I guessed that your code was taken from a button on a userform. I also guessed
that txtRemoveSheet was the name of a textbox on that userform.

I could have been wrong in both cases.

If I was correct in my guesses, then I don't see a need to initialize the value
in that textbox.

And by share the value, I was asking what that textbox (or variable named
txtremovesheet) actually held.



George wrote:

Is it a good idea to initialize string variables before using them? How
and where would I initialize txtRemoveSheet to an empty string before
the subroutine is called?

What do you mean by "share that value"?

Thanks for the reply,
George

Dave Peterson wrote:
I don't know why it didn't work for you. Maybe it has something to do with
what's in that textbox???

You may want to share that value.

George wrote:
When running the following Visual Basic code a run time error occurs
saying that there is a type mismatch. The name txtRemoveSheet is from a
textbox. My assumption was that it should be of type string and that
the Delete method accepted strings. Is this assumption correct? I
don't see why txtRemoveSheet is not accepted, can someone enlighten me?

Private Sub cmdDelete_Click()
Worksheets(txtRemoveSheet).Delete
txtRemoveSheet.Text = ""
End Sub

Thank you,
George



--

Dave Peterson
  #5   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 19
Default Type mismatch...

Your guesses were correct.

The variable txtRemoveSheet stores the value from a textbox on a
userform. The variable is the string name of a worksheet that is to be
deleted. For testing purposes I made sure that the string in the
textbox is a valid worksheet name.

Dave Peterson wrote:
I guessed that your code was taken from a button on a userform. I also guessed
that txtRemoveSheet was the name of a textbox on that userform.

I could have been wrong in both cases.

If I was correct in my guesses, then I don't see a need to initialize the value
in that textbox.

And by share the value, I was asking what that textbox (or variable named
txtremovesheet) actually held.



George wrote:
Is it a good idea to initialize string variables before using them? How
and where would I initialize txtRemoveSheet to an empty string before
the subroutine is called?

What do you mean by "share that value"?

Thanks for the reply,
George

Dave Peterson wrote:
I don't know why it didn't work for you. Maybe it has something to do with
what's in that textbox???

You may want to share that value.

George wrote:
When running the following Visual Basic code a run time error occurs
saying that there is a type mismatch. The name txtRemoveSheet is from a
textbox. My assumption was that it should be of type string and that
the Delete method accepted strings. Is this assumption correct? I
don't see why txtRemoveSheet is not accepted, can someone enlighten me?

Private Sub cmdDelete_Click()
Worksheets(txtRemoveSheet).Delete
txtRemoveSheet.Text = ""
End Sub

Thank you,
George




  #6   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Type mismatch...

I couldn't get my test code to fail in that manner (type mismatch).

What's the name of the sheet that you tested with? You still haven't shared
that.



George wrote:

Your guesses were correct.

The variable txtRemoveSheet stores the value from a textbox on a
userform. The variable is the string name of a worksheet that is to be
deleted. For testing purposes I made sure that the string in the
textbox is a valid worksheet name.

Dave Peterson wrote:
I guessed that your code was taken from a button on a userform. I also guessed
that txtRemoveSheet was the name of a textbox on that userform.

I could have been wrong in both cases.

If I was correct in my guesses, then I don't see a need to initialize the value
in that textbox.

And by share the value, I was asking what that textbox (or variable named
txtremovesheet) actually held.



George wrote:
Is it a good idea to initialize string variables before using them? How
and where would I initialize txtRemoveSheet to an empty string before
the subroutine is called?

What do you mean by "share that value"?

Thanks for the reply,
George

Dave Peterson wrote:
I don't know why it didn't work for you. Maybe it has something to do with
what's in that textbox???

You may want to share that value.

George wrote:
When running the following Visual Basic code a run time error occurs
saying that there is a type mismatch. The name txtRemoveSheet is from a
textbox. My assumption was that it should be of type string and that
the Delete method accepted strings. Is this assumption correct? I
don't see why txtRemoveSheet is not accepted, can someone enlighten me?

Private Sub cmdDelete_Click()
Worksheets(txtRemoveSheet).Delete
txtRemoveSheet.Text = ""
End Sub

Thank you,
George



--

Dave Peterson
  #7   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 19
Default Type mismatch...

The name of the sheet is "Sheet3".

Dave Peterson wrote:
I couldn't get my test code to fail in that manner (type mismatch).

What's the name of the sheet that you tested with? You still haven't shared
that.



George wrote:
Your guesses were correct.

The variable txtRemoveSheet stores the value from a textbox on a
userform. The variable is the string name of a worksheet that is to be
deleted. For testing purposes I made sure that the string in the
textbox is a valid worksheet name.

Dave Peterson wrote:
I guessed that your code was taken from a button on a userform. I also guessed
that txtRemoveSheet was the name of a textbox on that userform.

I could have been wrong in both cases.

If I was correct in my guesses, then I don't see a need to initialize the value
in that textbox.

And by share the value, I was asking what that textbox (or variable named
txtremovesheet) actually held.



George wrote:
Is it a good idea to initialize string variables before using them? How
and where would I initialize txtRemoveSheet to an empty string before
the subroutine is called?

What do you mean by "share that value"?

Thanks for the reply,
George

Dave Peterson wrote:
I don't know why it didn't work for you. Maybe it has something to do with
what's in that textbox???

You may want to share that value.

George wrote:
When running the following Visual Basic code a run time error occurs
saying that there is a type mismatch. The name txtRemoveSheet is from a
textbox. My assumption was that it should be of type string and that
the Delete method accepted strings. Is this assumption correct? I
don't see why txtRemoveSheet is not accepted, can someone enlighten me?

Private Sub cmdDelete_Click()
Worksheets(txtRemoveSheet).Delete
txtRemoveSheet.Text = ""
End Sub

Thank you,
George


  #8   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Type mismatch...

I couldn't get a type mismatch error in any of my testing.

George wrote:

The name of the sheet is "Sheet3".

Dave Peterson wrote:
I couldn't get my test code to fail in that manner (type mismatch).

What's the name of the sheet that you tested with? You still haven't shared
that.



George wrote:
Your guesses were correct.

The variable txtRemoveSheet stores the value from a textbox on a
userform. The variable is the string name of a worksheet that is to be
deleted. For testing purposes I made sure that the string in the
textbox is a valid worksheet name.

Dave Peterson wrote:
I guessed that your code was taken from a button on a userform. I also guessed
that txtRemoveSheet was the name of a textbox on that userform.

I could have been wrong in both cases.

If I was correct in my guesses, then I don't see a need to initialize the value
in that textbox.

And by share the value, I was asking what that textbox (or variable named
txtremovesheet) actually held.



George wrote:
Is it a good idea to initialize string variables before using them? How
and where would I initialize txtRemoveSheet to an empty string before
the subroutine is called?

What do you mean by "share that value"?

Thanks for the reply,
George

Dave Peterson wrote:
I don't know why it didn't work for you. Maybe it has something to do with
what's in that textbox???

You may want to share that value.

George wrote:
When running the following Visual Basic code a run time error occurs
saying that there is a type mismatch. The name txtRemoveSheet is from a
textbox. My assumption was that it should be of type string and that
the Delete method accepted strings. Is this assumption correct? I
don't see why txtRemoveSheet is not accepted, can someone enlighten me?

Private Sub cmdDelete_Click()
Worksheets(txtRemoveSheet).Delete
txtRemoveSheet.Text = ""
End Sub

Thank you,
George



--

Dave Peterson
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
Type Mismatch [email protected] Excel Worksheet Functions 1 May 16th 07 03:29 PM
Sumif from VBA Type mismatch mdalamers via OfficeKB.com Excel Worksheet Functions 3 March 7th 07 11:56 PM
run-time 13 Type mismatch simonsmith Excel Discussion (Misc queries) 2 May 18th 06 04:14 PM
Type Mismatch Error David Excel Discussion (Misc queries) 2 December 11th 05 04:46 PM
type mismatch--how to fix rroach Excel Discussion (Misc queries) 2 July 14th 05 06:23 PM


All times are GMT +1. The time now is 08:32 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"