Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Excel - выборка по определенной букве

13K
23 января 2006 года
YSS
9 / / 09.11.2005
Всем здравствуйте
Помогите написать макрос.
Необходимо из столбца "А" выбрать те слова в которых встречается буква "F" При чем не важно в каком месте этого слова, будь она первая, вторая и.т.д
275
23 января 2006 года
pashulka
985 / / 19.09.2004
А почему именно макрос ... ведь Вашу задачу можно решить с использованием стандартных средств, например фильтра или самых обычных формул.
13K
23 января 2006 года
YSS
9 / / 09.11.2005
Цитата:
Originally posted by pashulka
А почему именно макрос ... ведь Вашу задачу можно решить с использованием стандартных средств, например фильтра или самых обычных формул.




Просто здесь уже есть макрос который выполняет целую кучу действий и необходимо в него вставить вот эту процедуру, а иначе рассчет происходит не корректно.

275
23 января 2006 года
pashulka
985 / / 19.09.2004
Тогда используйте автофильтр, но только программно, или Вам нужен готовый код ...
275
23 января 2006 года
pashulka
985 / / 19.09.2004
Если вариант с использованием фильтров для Вас неприемлем, то Вы можете использовать поиск .Find/.FindNext, более подробно см. здесь ...

Или использовать что-то вроде :

Код:
With Range("A2:A102")
     iCount = Application.CountIf(.Cells, "*F*")
     If iCount > 0 Then
        ReDim iMassiv(1 To iCount)
        For Each iCell In .Cells
            If iCell.Value Like "*F*" Then
               iItem = iItem + 1
               iMassiv(iItem) = iCell.Value
            End If
          Next
     End If
End With


Предполагается, что "A2:A102" это заполненный диапазон в столбце "A", а ячейка "A1" содержит заголовок (шапку) таблицы.
13K
24 января 2006 года
YSS
9 / / 09.11.2005
Цитата:
Originally posted by pashulka
Если вариант с использованием фильтров для Вас неприемлем, то Вы можете использовать поиск .Find/.FindNext, более подробно см. здесь ...

Или использовать что-то вроде :

Код:
With Range("A2:A102")
     iCount = Application.CountIf(.Cells, "*F*")
     If iCount > 0 Then
        ReDim iMassiv(1 To iCount)
        For Each iCell In .Cells
            If iCell.Value Like "*F*" Then
               iItem = iItem + 1
               iMassiv(iItem) = iCell.Value
            End If
          Next
     End If
End With


Предполагается, что "A2:A102" это заполненный диапазон в столбце "A", а ячейка "A1" содержит заголовок (шапку) таблицы.




Спасибо !!!
Тут еще один вопрос возник, а можно сделать так чтобы прога автоматически определяла диапазон заполненых ячеек и записывала куда-нибудь сколько совпадений по первому диапазону, сколько по второму и.т.д??? Просто бывает такая ситуация, что ячейки заполнены допустим А2:А15 после пустая, а потом А17:А45 и размер диапазона не постоянный.

275
24 января 2006 года
pashulka
985 / / 19.09.2004
Можно, но ответ на этот вопрос уже опубликовал Dmitrii, более подробно см. здесь ...

P.S. Если возникнут проблемы, то посмотрите небольшой пример, воможно он окажется Вам полезен …
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог