Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 62
Default type mismatch error

Im getting a type mismatch error on this code and im not sure why.

Im getting the error on the "Set AllCells" line.

Sub RemoveDuplicates()
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection


Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)

Next Cell
On Error GoTo 0
For Each Value In NoDupes
On Error Resume Next
UserForm3.ListBox1.AddItem Value

Next Value
UserForm3.Show
End Sub


Thanks!
Alex
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default type mismatch error

You can't use "And" to combine ranges. Instead, use "Union".

Replace
Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
with
Set AllCells =
Application.Union(Sheet1.Range("H2:H1000"),Sheet5. Range("D2:D1000"))


--
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)





"Ewing25" wrote in message
...
Im getting a type mismatch error on this code and im not sure why.

Im getting the error on the "Set AllCells" line.

Sub RemoveDuplicates()
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection


Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)

Next Cell
On Error GoTo 0
For Each Value In NoDupes
On Error Resume Next
UserForm3.ListBox1.AddItem Value

Next Value
UserForm3.Show
End Sub


Thanks!
Alex


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 449
Default type mismatch error

You can't do this:
Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
"Union" is usually the way to do it, but not across sheets. Anyway you don't
need to union them, try

For Each Cell In Sheet1.Range("H2:H1000")
NoDupes.Add Cell.Value, CStr(Cell.Value)
Next Cell
For Each Cell In Sheet5.Range("D2:D1000")
NoDupes.Add Cell.Value, CStr(Cell.Value)
Next Cell

HTH. Best wishes Harald

"Ewing25" wrote in message
...
Im getting a type mismatch error on this code and im not sure why.

Im getting the error on the "Set AllCells" line.

Sub RemoveDuplicates()
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection


Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)

Next Cell
On Error GoTo 0
For Each Value In NoDupes
On Error Resume Next
UserForm3.ListBox1.AddItem Value

Next Value
UserForm3.Show
End Sub


Thanks!
Alex


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default type mismatch error

the set statement will never work because you can't combine ranges from two
different sheets. Below is the correct format in you had two columns on the
same shet

Set AllCells = Union(Sheets("Sheet1").Range("H2:H1000"), _
Sheets("Sheet1").Range("D2:D1000"))


"Ewing25" wrote:

Im getting a type mismatch error on this code and im not sure why.

Im getting the error on the "Set AllCells" line.

Sub RemoveDuplicates()
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection


Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)

Next Cell
On Error GoTo 0
For Each Value In NoDupes
On Error Resume Next
UserForm3.ListBox1.AddItem Value

Next Value
UserForm3.Show
End Sub


Thanks!
Alex

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 62
Default type mismatch error

Ok well heres what im trying to do.

I have a column in sheet1 named Trips and a column in sheet5 named trips i
want to take the data in both calumns and have it displayed in a listbox when
the button is selected.

Do you have any idea how i can do that?



"Joel" wrote:

the set statement will never work because you can't combine ranges from two
different sheets. Below is the correct format in you had two columns on the
same shet

Set AllCells = Union(Sheets("Sheet1").Range("H2:H1000"), _
Sheets("Sheet1").Range("D2:D1000"))


"Ewing25" wrote:

Im getting a type mismatch error on this code and im not sure why.

Im getting the error on the "Set AllCells" line.

Sub RemoveDuplicates()
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection


Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)

Next Cell
On Error GoTo 0
For Each Value In NoDupes
On Error Resume Next
UserForm3.ListBox1.AddItem Value

Next Value
UserForm3.Show
End Sub


Thanks!
Alex



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 62
Default type mismatch error

its saying

Run time error 1004
method union of object _application failed

"Chip Pearson" wrote:

You can't use "And" to combine ranges. Instead, use "Union".

Replace
Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
with
Set AllCells =
Application.Union(Sheet1.Range("H2:H1000"),Sheet5. Range("D2:D1000"))


--
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)





"Ewing25" wrote in message
...
Im getting a type mismatch error on this code and im not sure why.

Im getting the error on the "Set AllCells" line.

Sub RemoveDuplicates()
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection


Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)

Next Cell
On Error GoTo 0
For Each Value In NoDupes
On Error Resume Next
UserForm3.ListBox1.AddItem Value

Next Value
UserForm3.Show
End Sub


Thanks!
Alex


  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default type mismatch error

I didn't notice your sheet references. All cells in a Range object must be
on the same sheet. A Range cannot span multiple sheets.


--
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)



"Ewing25" wrote in message
...
its saying

Run time error 1004
method union of object _application failed

"Chip Pearson" wrote:

You can't use "And" to combine ranges. Instead, use "Union".

Replace
Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
with
Set AllCells =
Application.Union(Sheet1.Range("H2:H1000"),Sheet5. Range("D2:D1000"))


--
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)





"Ewing25" wrote in message
...
Im getting a type mismatch error on this code and im not sure why.

Im getting the error on the "Set AllCells" line.

Sub RemoveDuplicates()
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection


Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)

Next Cell
On Error GoTo 0
For Each Value In NoDupes
On Error Resume Next
UserForm3.ListBox1.AddItem Value

Next Value
UserForm3.Show
End Sub


Thanks!
Alex



  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,117
Default type mismatch error

chip said:
A Range cannot span multiple sheets.

so, perhaps you can link the data in sheet 5 to another, not used, not
seen, not printed area of sheet 1 - like waaaaaaay off in column FA or
something. then the ranges would be on the same sheet..........
just an idea
susan


On Jun 17, 10:10*am, Ewing25
wrote:
Ok well heres what im trying to do.

I have a column in sheet1 named Trips and a column in sheet5 named trips i
want to take the data in both calumns and have it displayed in a listbox when
the button is selected.

Do you have any idea how i can do that?



"Joel" wrote:
the set statement will never work because you can't combine ranges from two
different sheets. *Below is the correct format in you had two columns on the
same shet


Set AllCells = Union(Sheets("Sheet1").Range("H2:H1000"), _
* *Sheets("Sheet1").Range("D2:D1000"))


"Ewing25" wrote:


Im getting a type mismatch error on this code and im not sure why.


Im getting the error on the "Set AllCells" line.


Sub RemoveDuplicates()
* * Dim AllCells As Range, Cell As Range
* * Dim NoDupes As New Collection


* * Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
* * On Error Resume Next
* * For Each Cell In AllCells
* * * * NoDupes.Add Cell.Value, CStr(Cell.Value)


* * Next Cell
* * On Error GoTo 0
* * For Each Value In NoDupes
* * On Error Resume Next
* * * * UserForm3.ListBox1.AddItem Value


* * Next Value
* * UserForm3.Show
End Sub


Thanks!
Alex- Hide quoted text -


- Show quoted text -


  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default type mismatch error

Or just use Harald's suggestion.

Susan wrote:

chip said:
A Range cannot span multiple sheets.

so, perhaps you can link the data in sheet 5 to another, not used, not
seen, not printed area of sheet 1 - like waaaaaaay off in column FA or
something. then the ranges would be on the same sheet..........
just an idea
susan

On Jun 17, 10:10 am, Ewing25
wrote:
Ok well heres what im trying to do.

I have a column in sheet1 named Trips and a column in sheet5 named trips i
want to take the data in both calumns and have it displayed in a listbox when
the button is selected.

Do you have any idea how i can do that?



"Joel" wrote:
the set statement will never work because you can't combine ranges from two
different sheets. Below is the correct format in you had two columns on the
same shet


Set AllCells = Union(Sheets("Sheet1").Range("H2:H1000"), _
Sheets("Sheet1").Range("D2:D1000"))


"Ewing25" wrote:


Im getting a type mismatch error on this code and im not sure why.


Im getting the error on the "Set AllCells" line.


Sub RemoveDuplicates()
Dim AllCells As Range, Cell As Range
Dim NoDupes As New Collection


Set AllCells = Sheet1.Range("H2:H1000") And Sheet5.Range("D2:D1000")
On Error Resume Next
For Each Cell In AllCells
NoDupes.Add Cell.Value, CStr(Cell.Value)


Next Cell
On Error GoTo 0
For Each Value In NoDupes
On Error Resume Next
UserForm3.ListBox1.AddItem Value


Next Value
UserForm3.Show
End Sub


Thanks!
Alex- Hide quoted text -


- Show quoted text -


--

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
Visual Basic Error Run Time Error, Type Mismatch Meg Partridge Excel Discussion (Misc queries) 12 September 10th 08 06:10 PM
runtime error 13 - type mismatch error in Excel 97 on Citrix Kevin Maher Excel Programming 7 March 8th 08 11:48 AM
Conditional Formatting - Run Time Error '13' Type Mismatch Error ksp Excel Programming 0 July 11th 06 07:06 AM
Help: Compile error: type mismatch: array or user defined type expected lvcha.gouqizi Excel Programming 1 October 31st 05 08:20 PM
Befuddled with For Next Loop ------ Run - Time Error '13' Type Mismatch Error rdavis7408 Excel Programming 1 August 25th 04 03:54 AM


All times are GMT +1. The time now is 04:28 AM.

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"