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

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

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

Есть ли что-то более радостное, о гуру VBA?
...
Рейтинг: 0 / 0
Проверка - есть ли в массиве знач = переменной
    #32307792
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фунция ВПР - ищи в хелпе.
...
Рейтинг: 0 / 0
Проверка - есть ли в массиве знач = переменной
    #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
Проверка - есть ли в массиве знач = переменной
    #32308049
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4 23a77\r
было уже про find
...
Рейтинг: 0 / 0
Проверка - есть ли в массиве знач = переменной
    #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
Проверка - есть ли в массиве знач = переменной
    #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
Проверка - есть ли в массиве знач = переменной
    #32308623
PanzerFaust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Big-Duke

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

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


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