ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Collection - object required message (https://www.excelbanter.com/excel-programming/355063-collection-object-required-message.html)

Alex St-Pierre

Collection - object required message
 
I would like to add things in my collection but doesn't work all the time.

If I write:
Dim C as New Collection
For j = 1 To 10
C.Add Cells(j,5), Cells(j,5)
Next j
C(2) = C(1) 'this works

If I want to add other things then cells(j,5), it doesn't work
Dim C as New Collection
Dim D as New Collection
Dim Temp as Object
For j = 1 To 10
Temp = "A-C" 'Temp = Nothing ?
Temp2 = "A-C" 'Temp2 is not empty
C.Add Temp, Temp 'doesn't work because Temp is empty
D.Add Temp2, Temp2 'seems to work but D(2) = D(1) doesn't work (object
required)
Next j
--
Alex St-Pierre

Tom Ogilvy

Collection - object required message
 
Dim Temp as Variant or String, not as Object

Dim C as New Collection
Dim D as New Collection
Dim Temp as Variant
Dim Temp2 as Variant
For j = 1 To 10
Temp = "A-C" 'Temp = Nothing
Temp2 = "A-C"
C.Add Temp, cStr(Temp)
D.Add Temp2, cStr(Temp2)
Next j

--
Regards,
Tom Ogilvy


"Alex St-Pierre" wrote in message
...
I would like to add things in my collection but doesn't work all the time.

If I write:
Dim C as New Collection
For j = 1 To 10
C.Add Cells(j,5), Cells(j,5)
Next j
C(2) = C(1) 'this works

If I want to add other things then cells(j,5), it doesn't work
Dim C as New Collection
Dim D as New Collection
Dim Temp as Object
For j = 1 To 10
Temp = "A-C" 'Temp = Nothing ?
Temp2 = "A-C" 'Temp2 is not empty
C.Add Temp, Temp 'doesn't work because Temp is empty
D.Add Temp2, Temp2 'seems to work but D(2) = D(1) doesn't work (object
required)
Next j
--
Alex St-Pierre




Alex St-Pierre

Collection - object required message
 
Hi Toms,
It gives an error message when I try to replace C(1) by C(2).

Dim Temp as String
For j = 1 to 100
Temp = Cells(j, 3) & "-" & Cells(j, 4)
C.Add Temp, CStr(Temp)
Next j
a = C(1)
b = C(2)
On Error GoTo 0
For iCtr = 1 To C.Count - 1 'Tri vecteur
For jCtr = iCtr + 1 To C.Count
If C(iCtr) < C(jCtr) Then
Temp = C(iCtr)
C(iCtr) = C(jCtr) 'C(1) = C(2) gives error message object is
required?
' C(1) = "A-.*" and C(2) = "A-A"
C(jCtr) = Temp
End If
Next jCtr
Next iCtr
--
Alex St-Pierre


"Tom Ogilvy" wrote:

Dim Temp as Variant or String, not as Object

Dim C as New Collection
Dim D as New Collection
Dim Temp as Variant
Dim Temp2 as Variant
For j = 1 To 10
Temp = "A-C" 'Temp = Nothing
Temp2 = "A-C"
C.Add Temp, cStr(Temp)
D.Add Temp2, cStr(Temp2)
Next j

--
Regards,
Tom Ogilvy


"Alex St-Pierre" wrote in message
...
I would like to add things in my collection but doesn't work all the time.

If I write:
Dim C as New Collection
For j = 1 To 10
C.Add Cells(j,5), Cells(j,5)
Next j
C(2) = C(1) 'this works

If I want to add other things then cells(j,5), it doesn't work
Dim C as New Collection
Dim D as New Collection
Dim Temp as Object
For j = 1 To 10
Temp = "A-C" 'Temp = Nothing ?
Temp2 = "A-C" 'Temp2 is not empty
C.Add Temp, Temp 'doesn't work because Temp is empty
D.Add Temp2, Temp2 'seems to work but D(2) = D(1) doesn't work (object
required)
Next j
--
Alex St-Pierre





Tom Ogilvy

Collection - object required message
 
Sub AA()
Dim C As New Collection
Dim Temp As String
On Error Resume Next
For j = 1 To 100
Temp = Cells(j, 3) & "-" & Cells(j, 4)
C.Add Temp, CStr(Temp)
Next j
a = C(1)
b = C(2)
On Error GoTo 0
For ictr = 1 To C.Count - 1 'Tri vecteur
For jctr = ictr + 1 To C.Count
If C(ictr) < C(jctr) Then
Temp = C(ictr)
Temp1 = C(jctr)
C.Add Temp, Befo=jctr
C.Add Temp1, Befo=ictr
C.Remove ictr + 1
C.Remove jctr + 1
End If
Next jctr
Next ictr


End Sub


--
Regards,
Tom Ogilvy

"Alex St-Pierre" wrote in message
...
Hi Toms,
It gives an error message when I try to replace C(1) by C(2).

Dim Temp as String
For j = 1 to 100
Temp = Cells(j, 3) & "-" & Cells(j, 4)
C.Add Temp, CStr(Temp)
Next j
a = C(1)
b = C(2)
On Error GoTo 0
For iCtr = 1 To C.Count - 1 'Tri vecteur
For jCtr = iCtr + 1 To C.Count
If C(iCtr) < C(jCtr) Then
Temp = C(iCtr)
C(iCtr) = C(jCtr) 'C(1) = C(2) gives error message object

is
required?
' C(1) = "A-.*" and C(2) = "A-A"
C(jCtr) = Temp
End If
Next jCtr
Next iCtr
--
Alex St-Pierre


"Tom Ogilvy" wrote:

Dim Temp as Variant or String, not as Object

Dim C as New Collection
Dim D as New Collection
Dim Temp as Variant
Dim Temp2 as Variant
For j = 1 To 10
Temp = "A-C" 'Temp = Nothing
Temp2 = "A-C"
C.Add Temp, cStr(Temp)
D.Add Temp2, cStr(Temp2)
Next j

--
Regards,
Tom Ogilvy


"Alex St-Pierre" wrote in

message
...
I would like to add things in my collection but doesn't work all the

time.

If I write:
Dim C as New Collection
For j = 1 To 10
C.Add Cells(j,5), Cells(j,5)
Next j
C(2) = C(1) 'this works

If I want to add other things then cells(j,5), it doesn't work
Dim C as New Collection
Dim D as New Collection
Dim Temp as Object
For j = 1 To 10
Temp = "A-C" 'Temp = Nothing ?
Temp2 = "A-C" 'Temp2 is not empty
C.Add Temp, Temp 'doesn't work because Temp is empty
D.Add Temp2, Temp2 'seems to work but D(2) = D(1) doesn't work

(object
required)
Next j
--
Alex St-Pierre








All times are GMT +1. The time now is 06:25 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com