Равенство переменной с одним из элементов массива

Программирование на Visual Basic for Applications
Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Равенство переменной с одним из элементов массива

Сообщение Calvin » 08.01.2008 (Вт) 16:29

Здраствуйте, какой подошел бы оператор сравнения некой переменной с одним из элементов массива (не перебирая его)
ну типа того:

Код: Выделить всё
y="Петя"
jjj=array("Петя","Вася","Дима")
Select Case y
Case jjj()
.....
end select
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

Template
Обычный пользователь
Обычный пользователь
 
Сообщения: 73
Зарегистрирован: 09.09.2006 (Сб) 18:03

Re: Равенство переменной с одним из элементов массива

Сообщение Template » 08.01.2008 (Вт) 17:52

Ежели индекс элемента заранее известен :

Код: Выделить всё
y = "Петя"
jjj = Array("Петя", "Вася", "Дима")

If y = jjj(0) Then MsgBox "Да"


А ежели необходимо проверить наличие этого самого Пети, да ещё и без перебора :

Код: Выделить всё
y = "Петя"
jjj = Array("Петя", "Вася", "Дима")

If CBool(InStr(Join(jjj, vbCrLf), y + vbCrLf)) Then 'InStr(1, Join(jjj, vbCrLf), y + vbCrLf, 1) 'IgnoreCase
   MsgBox "Yes"
Else
   MsgBox "No"
End If

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 08.01.2008 (Вт) 23:34

Если в Excel, то еще вот так:

Код: Выделить всё
x = IsNumeric(Application.Match("Петя", Array("Петя", "Вася", "Дима"), 0))
Привет,
KL

Template
Обычный пользователь
Обычный пользователь
 
Сообщения: 73
Зарегистрирован: 09.09.2006 (Сб) 18:03

Сообщение Template » 09.01.2008 (Ср) 0:44

Ну, ежели в Excel, то можно и так

L = Not IsError(Application.VLookup("Петя", Array("Петя", "Вася", "Дима"), 1, False)) 'false=0


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 35

    TopList