Solved

# Find something in a collection

Posted on 2001-08-03
175 Views
Forexample, I have a collection C = [1,2,3,45,32,21,7,9] and I have a variable A. I want to check if the value of A is a member of collection C. How do I do that in VB? Thanks..
0
Question by:veraps
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points

LVL 4

Expert Comment

ID: 6348085
a collection of what?
0

LVL 4

Accepted Solution

WolfgangKoenig earned 50 total points
ID: 6348088
Dim TestItem As Variant

For each TestItem in  C
If TestItem = A Then MsgBox("Here it is !")
Next Test

Thats was it
Best regards ;O)
WoK
0

LVL 52

Expert Comment

ID: 6348095
Hi veraps,

Dim C() As Integer, A As Integer, i As Integer
Dim IsFound As Boolean

Redim Preserve C(7)

IsFound = False

c(0)=1
c(1)=2
c(2)=3
c(3)=45
c(4)=32
c(5)=21
c(6)=7
c(7)=9

For i = Lbound(C) to UBound(C)
If A = C(i) Then IsFound = True:Exit For
Next i

'Hope will help.

0

LVL 4

Expert Comment

ID: 6348099
Sorry:

Next TestItem

was right ...

_________________________________________________________
Here is a complete example:

Dim TestItem As Variant
Dim C As Collection
Dim A As Integer

A = 3
Set C = New Collection

For Each TestItem In C
If TestItem = A Then MsgBox ("Item found !")
Next TestItem

End Sub
0

LVL 5

Expert Comment

ID: 6348100
Hi,

Try this:

Private Sub Command1_Click()
Dim c As New Collection, i As Integer, a As Integer, aMember
For i = 1 To 8
Next i
a = 4
For Each aMember In c
If aMember = a Then
MsgBox "a is a member in collection c."
End If
Next
End Sub
0

LVL 13

Expert Comment

ID: 6348105
You would add an item to a collection.

Then when you are doing a look-up for your variable, look up via the key.

msgbox collection.item("a") - will return what the item is for that key.

If it cannot find it, then have some sort of error routine that it wasn't found.

0

LVL 1

Expert Comment

ID: 6348183
if you only use one collection in your app you can replace it with a dictionary ( make a reference to MS scripting runtime)

dim c as new dictionary

there is allready a function itemexits and you don't have to search by a for next loop
0

LVL 2

Expert Comment

ID: 6348444
Hi,

If InStr(1, Text1.Text, "45", vbTextCompare) Or _
InStr(1, Text1.Text, "32", vbTextCompare) Then...

Enjoy
0

LVL 12

Expert Comment

ID: 6361656
Try this:

For lX = 1 to colC.Count
if colC(lx) = varA then
msgbox varA & " found at position " & lx & " of colX."
exit For
end if
next lX
0

LVL 49

Expert Comment

ID: 7198439
Hi veraps,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

Accept WolfgangKoenig's comment(s) as an answer.

veraps, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
==========
DanRollins -- EE database cleanup volunteer
0

LVL 5

Expert Comment

ID: 7213221
Per recommendation, force-accepted.

Netminder
CS Moderator
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describesâ€¦
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). Uâ€¦
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applicâ€¦
###### Suggested Courses
Course of the Month6 days, 13 hours left to enroll