Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка - есть ли в массиве знач = переменной / 7 сообщений из 7, страница 1 из 1
28.10.2003, 15:47
    #32307700
PanzerFaust
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка - есть ли в массиве знач = переменной
Есть переменная z

Какой функцией ее можно проверить на предмет - есть ли в массиве А1:В366
значение равное z (числовое или символьное)

Тупо перебирать значения на соответсвие не хочется однака!

Есть ли что-то более радостное, о гуру VBA?
...
Рейтинг: 0 / 0
28.10.2003, 16:36
    #32307792
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка - есть ли в массиве знач = переменной
Фунция ВПР - ищи в хелпе.
...
Рейтинг: 0 / 0
28.10.2003, 17:33
    #32307903
23a77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка - есть ли в массиве знач = переменной
Если, как я понял, нужно найти значение в диапазоне листа то сделай следующее:
1. поставь макрорекордер на запись
2. выдели свой фрагмент
3. примени команду "Правка"-"Найти"
4. посмотри полученный код

Будет примерно следущее

Range("A1:K30").Select
Selection.Find(What:="5", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
...
Рейтинг: 0 / 0
28.10.2003, 18:51
    #32308049
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка - есть ли в массиве знач = переменной
4 23a77\r
было уже про find
...
Рейтинг: 0 / 0
29.10.2003, 10:04
    #32308364
PanzerFaust
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка - есть ли в массиве знач = переменной
Проблема в том, что запуск кода, полученного из макроса нормально перебирает значения (подставляет переменную, проверяет на соответствие, если соответствие найдено - делает нужную операцию) но если он не находит соответствие в массиве - то все грохается

Workbooks("FileRNMprepareAll.xls").Activate
Columns("F:F").Select
Selection.Find(What:=Z, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True).Activate

If ActiveCell = Z Then
Workbooks("FileRNMprepareAll.xls").Activate

ActiveCell.Next.Select
Selection.Copy
Workbooks.Open c
Cells(1, 6).Select
ActiveSheet.Paste
ActiveWorkbook.Save
ActiveWindow.Close

Else

Cells(1, 10).Select
ActiveCell.FormulaR1C1 = "dddddd"

End If

Это кусок цикла в котором меняется переменная Z - вот в случае отсутствия соответствия выделяется цветом

Selection.Find(What:=Z, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True).Activate

Типа здесь ошибка. Как от нее увернуться при использовании такой функции - непонятно, поэтому я пытаюсь понять - или надо дописать условия к этой функции или лучше использовать что-то другое
...
Рейтинг: 0 / 0
29.10.2003, 11:18
    #32308538
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка - есть ли в массиве знач = переменной
dim R as range
set R=Selection.Find(What:=Z, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True)

If R is nothing then ....
...
Рейтинг: 0 / 0
29.10.2003, 11:50
    #32308623
PanzerFaust
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка - есть ли в массиве знач = переменной
2 Big-Duke

Класс! Я добавил эту проверку и оно заработало!

Балшой такой Пасиб!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка - есть ли в массиве знач = переменной / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]