ВБА филтрирни низови

Тхе ВБА функција филтера омогућава вам брзо филтрирање низова. Приликом филтрирања низова потребно је узети у обзир неколико поставки. О њима ћемо расправљати у наставку.

Филтер - подударање

Подразумевано, функција ВБА филтера ће филтрирати низ за подударања. У доњем примеру ћемо филтрирати низ за подударања са „Смитх“.

1234567891011121314 Подфилтер_подударања ()'Дефине АрраиДим стрНамес Ас ВариантстрНамес = Арраи ("Стеве Смитх", "Сханнон Смитх", "Риан Јохнсон")'Низ филтераДим стрСубНамес Ас ВариантстрСубНамес = Филтер (стрНамес, "Смитх")'Броји филтрирани низМсгБок "Пронађено" & УБоунд (стрСубНамес) - ЛБоунд (стрСубНамес) + 1 & "имена."Енд Суб

Неколико важних тачака:

  • Променљиву филтрираног низа треба декларисати као варијанту типа података како би се избегло дефинисање величине низа.
  • Подразумевано, функција Филтер разликује велика и мала слова. Дакле, филтрирање „ковача“ дало би другачији резултат од „Смита“. У наставку ћемо вам показати како да промените ову поставку.

Филтер - Није осетљив на велика и мала слова

Подразумевано, ВБА разликује велика и мала слова. То значи да „ковач“ није исто што и „Смит“. Ово важи за функцију филтера, као и за све (већина?) Других ВБА функција или поређења.

Лично, никада не желим да ВБА разликује велика и мала слова, па увек додајем Оптион Цомпаре Тект на врх свих својих модула кода. Опција Упореди текст каже ВБА да занемарује велика и мала слова тако да не разликује велика и мала слова:

1 Опција Упореди текст

Додавање опције Упореди текст на врх вашег модула учиниће функцију филтера неосетљивом. Алтернативно, можете рећи самој функцији филтера да не разликује велика и мала слова помоћу аргумента вбТектЦомпаре:

1 стрСубНамес = Филтер (стрНамес, "смитх",, вбТектЦомпаре)

Потпуни пример:

1234567891011121314 Под филтер_МатцхЦасе ()'Дефине АрраиДим стрНамес Ас ВариантстрНамес = Арраи ("Стеве Смитх", "Сханнон Смитх", "Риан Јохнсон")'Низ филтераДим стрСубНамес Ас ВариантстрСубНамес = Филтер (стрНамес, "смитх",, вбТектЦомпаре)'Броји филтрирани низМсгБок "Пронађено" & УБоунд (стрСубНамес) - ЛБоунд (стрСубНамес) + 1 & "имена."Енд Суб

Филтер - не подудара се

Функција филтера такође се може користити за идентификацију ставки низа које НЕМОЈ подударају се са унетим критеријумима постављањем аргумента Инцлуде на ФАЛСЕ:

1 стрСубНамес = Филтер (стрНамес, "Смитх", Фалсе)

Потпуни пример:

1234567891011121314 Под филтер_НоМатцх ()'Дефине АрраиДим стрНамес Ас ВариантстрНамес = Арраи ("Стеве Смитх", "Сханнон Смитх", "Риан Јохнсон")'Низ филтераДим стрСубНамес Ас ВариантстрСубНамес = Филтер (стрНамес, "Смитх", Фалсе)'Броји филтрирани низМсгБок "Пронађено" & УБоунд (стрСубНамес) - ЛБоунд (стрСубНамес) + 1 & "имена."Енд Суб

Функција филтера

Функција ВБА филтера враћа подскуп Арраи испорученог низа низова.

Синтакса функције филтера је:

Филтер (изворни низ, подударање, [укључи], [упореди])

Аргументи функције су:

  • СоурцеАрраи - Оригинални низ за филтрирање
  • Утакмица - Низ за тражење
  • [Укључи] - ОПЦИОНО ТРУЕ (Враћа подударања), ФАЛСЕ (Враћа елементе који се не подударају)
  • [Упоредити] - ОПЦИОНО вбБинариЦомпаре - бинарно поређење, вбТектЦомпаре - поређење текста, вбДатабасеЦомпаре - поређење базе података

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave