Проверьте, находится ли значение в массиве или нет с помощью Excel VBA
У меня есть код ниже, который должен проверять, находится ли значение в массиве или нет.
Если ячейка A1 содержит слово Examples , по какой-то причине обе IsInArray обнаруживают ее как существующую для обоих массивов, когда она должна находить ее только в массиве vars1
Что мне нужно изменить, чтобы сделать мою функцию IsInArray для ее точного соответствия?
Вы можете грубо заставить ее так:
Используйте функцию Match() в excel VBA, чтобы проверить, существует ли значение в массиве.
Приведенная ниже функция возвращает 0, если совпадения нет, и положительное целое в случае совпадения:
Функция IsInArray (stringToBeFound As String, arr As Variant) As Integer IsInArray = InStr (Join (arr, ""), stringToBeFound) Конечная функция
Примечание: функция сначала объединяет содержимое всего массива со строкой, используя ‘Join’ (не уверен, использует ли метод join внутреннее или нет циклическое выполнение), а затем проверяет наличие macth внутри этой строки, используя InStr.
Хотя это, по сути, просто ответ @Brad, я подумал, что, возможно, стоит включить слегка модифицированную функцию, которая будет возвращать индекс искомого элемента, если он существует в массиве. Если элемент отсутствует в массиве, он возвращает -1 .
Вывод этого можно проверить так же, как функцию "in string", If InStr(. ) > 0 Then , поэтому я сделал небольшую тестовую функцию под ней в качестве примера.
Затем я пошел немного за борт и выделил один для двухмерных массивов, потому что, когда вы генерируете массив на основе диапазона, он обычно в этой форме.
Он возвращает один вариантный массив измерений только с двумя значениями, два индекса массива используются в качестве входных данных (при условии, что значение найдено). Если значение не найдено, возвращается массив (-1, -1) .
Вот картина данных, которые я настроил для теста, а затем тест:
Проверка элементов массива на соответствие значению ячейки
Прошу помочь в вопросе динамического массива.
Мне нужно сделать следующее. Есть к примеру, есть ячейки от А1 до А10. Мне необходимо брать значение каждой ячейки и проверять если такое же значение уже в массиве, и если его нет, то добавить в массив как новый элемент.
Собрав инфу в интернете, сподобился на такой макрос, но, в итоге понял, что это немного не то, что нужно.
Плюс ко всему макрос при запуске выдает ошибку на строке
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Найти соответствие значению ячейки в другой таблице?
Здравствуйте Не хватает опыта найти решение самостоятельно. Есть Таблица stat. В ней.
Не проходит проверка на равенство переменной значению ячейки DGV
Доброго дня. У меня возникла такая проблема: код после строчки if (a2 ==.
Проверка вводимого значения на соответствие индексу массива
Доброго времени суток, подскажите как реализовать работу поиска индекса по введенному значению.
Найти порядковый номер элемента, который наиболее близок по значению к среднему арифметическому значению положительных элементов данного массива.
Найти порядковый номер элемента, который наиболее близок по значению к среднему арифметическому.