Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Фильтрация данных в массиве - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Фильтрация данных в массиве (Макросы/Sub)
Фильтрация данных в массиве
Xpert Дата: Вторник, 03.08.2021, 14:36 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 115
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Приветствую всех!
Есть одномерный массив, содержащий нужные текстовые данные, а также буквосочетание "NA"(если значение недоступно).
Пытаюсь отфильтровать данный массив таким образом, чтобы эти самые "NA" убрать.
Однако код:
[vba]
Код

Sub Test()
Dim arr, myarr
arr = Range("E1").CurrentRegion
myarr = Filter(arr, "NA", False)
End Sub
[/vba]

выдаёт ошибку "Type mismatch".

В чём может быть дело?


Сообщение отредактировал Xpert - Вторник, 03.08.2021, 14:36
 
Ответить
СообщениеПриветствую всех!
Есть одномерный массив, содержащий нужные текстовые данные, а также буквосочетание "NA"(если значение недоступно).
Пытаюсь отфильтровать данный массив таким образом, чтобы эти самые "NA" убрать.
Однако код:
[vba]
Код

Sub Test()
Dim arr, myarr
arr = Range("E1").CurrentRegion
myarr = Filter(arr, "NA", False)
End Sub
[/vba]

выдаёт ошибку "Type mismatch".

В чём может быть дело?

Автор - Xpert
Дата добавления - 03.08.2021 в 14:36
Erjoma1981 Дата: Вторник, 03.08.2021, 15:48 | Сообщение № 2
Группа: Проверенные
Ранг: Участник
Сообщений: 66
Репутация: 25 ±
Замечаний: 0% ±

Excel 2010, 2019
Здравствуйте.
Может должно быть
[vba]
Код
set arr = Range("E1").CurrentRegion
[/vba]


Файл с примером упростил бы поиск ошибки.


Сообщение отредактировал Erjoma1981 - Вторник, 03.08.2021, 16:08
 
Ответить
СообщениеЗдравствуйте.
Может должно быть
[vba]
Код
set arr = Range("E1").CurrentRegion
[/vba]


Файл с примером упростил бы поиск ошибки.

Автор - Erjoma1981
Дата добавления - 03.08.2021 в 15:48
doober Дата: Вторник, 03.08.2021, 16:09 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Может должно быть
set arr = Range("E1").CurrentRegion

Зачем советовать не изучив вопрос.
массив одномерный и string



 
Ответить
Сообщение
Может должно быть
set arr = Range("E1").CurrentRegion

Зачем советовать не изучив вопрос.
массив одномерный и string


Автор - doober
Дата добавления - 03.08.2021 в 16:09
Xpert Дата: Вторник, 03.08.2021, 17:14 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 115
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Erjoma1981, doober, всем спасибо!
Действительно, ошибка была в том, что фильтруемый массив не был одномерным.
После переназначения размерности всё заработало!
 
Ответить
СообщениеErjoma1981, doober, всем спасибо!
Действительно, ошибка была в том, что фильтруемый массив не был одномерным.
После переназначения размерности всё заработало!

Автор - Xpert
Дата добавления - 03.08.2021 в 17:14
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Фильтрация данных в массиве (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!