powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
7 сообщений из 7, страница 1 из 1
ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
    #38170382
нуб987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите плз название функции ПОИСКПОЗ, ИНДЕКС и ЕНД для VBA
записал макрос: ввел в ячейку ПОИСКПОЗ(...), в макросе появилось:
Код: vbnet
1.
ActiveCell.FormulaR1C1 = "=MATCH(...)"


Но т.к. мне нужно обработать оч.много ячеек, то подстановка формул в них не подходит - будет слишком долгий пересчет всего листа.
Хотелось бы в макросе вставлять готовые значения, вычисляемые этой функцией во время работы макроса.
Сделал так:
Код: vbnet
1.
Cells(1, 1) = Match(...)


но редактор ругается, что не знает такой функции.

То же самое с функцией ИНДЕКС. Записанный макрос выдал
Код: vbnet
1.
ActiveCell.FormulaR1C1 = "=INDEX(...)"


но Cells(1, 1) = Index(...) не работает

Для ЕНД() было предложено IsNA(), но и ее он не знает.

Подскажите плз, как эти функции называются в VBA?
...
Рейтинг: 0 / 0
ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
    #38170418
Фотография lbppb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нуб987,

У вас синтаксическая ошибка, нужно так:

Код: vbnet
1.
ActiveSheet.Cells(1, 1).Formula = "=Match(1,2)"
...
Рейтинг: 0 / 0
ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
    #38170419
Фотография lbppb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lbppbнуб987,

У вас синтаксическая ошибка, нужно так:

Код: vbnet
1.
ActiveSheet.Cells(1, 1).Formula = "=Match(1,2)"



В скобках конечно же не 1 и 2, а параметры формулы.
...
Рейтинг: 0 / 0
ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
    #38170420
нуб987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lbppb, я же написал, что если делать так, то в каждую ячейку вставится формула, что вызовет долгие пересчеты при каждом обновлении листа.
А я хотел, чтобы ячейки заполнялись уже готовыми значениями из макроса ;)
...
Рейтинг: 0 / 0
ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
    #38170421
Фотография lbppb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нуб987lbppb, я же написал, что если делать так, то в каждую ячейку вставится формула, что вызовет долгие пересчеты при каждом обновлении листа.
А я хотел, чтобы ячейки заполнялись уже готовыми значениями из макроса ;)

Что поделать, устал я что-то за сегодня:

Код: vbnet
1.
ActiveSheet.Cells(1, 1) = WorksheetFunction.Match(...)
...
Рейтинг: 0 / 0
ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
    #38172157
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нуб987А я хотел, чтобы ячейки заполнялись уже готовыми значениями из макроса ;)Ну так и заполняйте, кто вам мешает? Зачем использовать формулы листа-то?
...
Рейтинг: 0 / 0
ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
    #38172194
ikki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
соглашусь с AndreTM - скорее всего, использование функций Excel при работе с большим объемом данных будет неоптимальным.
например, если функция Match() используется для поиска в каком-то столбце с данными, причем существуют сотни и тысячи ячеек с такими вычислениями, то гораздо оптимальнее будет забрать данные в массив, отсортировать его и производить бинарный поиск в сортированном массиве.

параллельные функции Index и IsNA вообще не будут нужны как функции - вы просто возьмёте нужное значение из "параллельного" массива, а если значение не найдено - то это и будет аналогом ситуации с ошибкой #Н/Д!

в общем, как случается сплошь и рядом - вы не задачу пытаетесь решить, а какие-то свои неверные представления о её решении запихнуть туда, куда их лучше не запихивать :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ПОИСКПОЗ(), ИНДЕКС() и ЕНД() в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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