Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2012, 14:29   #21
tibhar940
Пользователь
 
Регистрация: 31.07.2012
Сообщений: 79
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Совет, так совет. Считываете диапазон в массив. В цикле проверяете соответствие условию по двум столбцам с оператором or. При выполнении условия увеличиваете счетчик на 1 и заносите в этот же массив данные двух столбцов в строку с номером счетчика. После обработки всего массива выгружаете его на лист с resize(счетчик,2).
Но мне гораздо легче было бы написать макрос в Вашем примере, чем сочинять эти объяснения:-)
Ну если вы напишете макрос, то это будет просто замечательно. Потому что у меня пока что знаний не хватает (а посмотрев на макрос, я бы уже понял).

Вот к примеру во вложении файл.
Из всех строк нужно оставить только те, в которых хотя бы одно значение из столбца A или C входит в диапазон от 16.07.2012 21:33:10 до 16.07.2012 21:40:10
Вложения
Тип файла: zip Столбцы.zip (668.3 Кб, 10 просмотров)
tibhar940 вне форума Ответить с цитированием
Старый 02.08.2012, 14:48   #22
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

ну и так можно:
Короче вариантов просто уйма
Вложения
Тип файла: rar Книга2.rar (16.9 Кб, 8 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 02.08.2012, 15:15   #23
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Например так:
Вложения
Тип файла: zip Столбцы.zip (683.2 Кб, 13 просмотров)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 02.08.2012, 15:29   #24
tibhar940
Пользователь
 
Регистрация: 31.07.2012
Сообщений: 79
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Например так:
Спасибо, но у меня настройки приватности не допускают запуска из заготовленной вами книги. Но я могу скопировать код. Могли бы объяснить принцип действия?
tibhar940 вне форума Ответить с цитированием
Старый 02.08.2012, 15:31   #25
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Ну и мой, в модуль листа:
Код:
Public Sub www()
    Dim a, n&, i&, d As Date, d1 As Date
    a = UsedRange.Value
    d = CDate("16.07.2012 21:33:10"): d1 = CDate("16.07.2012 21:40:10")
    For i = 1 To UBound(a)
        If a(i, 1) >= d And a(i, 1) <= d1 Or a(i, 3) >= d And a(i, 3) <= d1 Then _
         n = n + 1: a(n, 1) = a(i, 1): a(n, 3) = a(i, 3)
    Next
    [g6].Resize(n, 3) = a
End Sub
Вложения
Тип файла: zip Столбцы.zip (710.5 Кб, 7 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 02.08.2012 в 15:55.
kuklp вне форума Ответить с цитированием
Старый 02.08.2012, 15:41   #26
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Могли бы объяснить принцип действия?
В программе есть так называемый расширенный фильтр. Работает по заголовкам столбцов и таблице критериев отбора.
Если в критериях условия находятся в одной строке, то эти условия работают вместе, если же в разных строках, то отбор производится при выполнении одного из них.
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 02.08.2012 в 15:46.
DiemonStar вне форума Ответить с цитированием
Старый 07.08.2012, 12:33   #27
tibhar940
Пользователь
 
Регистрация: 31.07.2012
Сообщений: 79
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
В программе есть так называемый расширенный фильтр. Работает по заголовкам столбцов и таблице критериев отбора.
Если в критериях условия находятся в одной строке, то эти условия работают вместе, если же в разных строках, то отбор производится при выполнении одного из них.
Огромное спасибо. Во всём разобрался. В принципе проще в ручную через расширенный фильтр делать. Такой вопрос - а возможно ли это реализовать без вписывания значений в ячейки, описав интервал в коде?
tibhar940 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление лишних строк в memo Gudzik11 Общие вопросы Delphi 7 10.04.2012 06:57
Удаление строк по значению ячеек диапазона strannick Microsoft Office Excel 16 16.02.2012 19:00
удаление лишних пробелов или знаков '_' из MaskEdit Blood_ghosT Компоненты Delphi 6 07.12.2011 20:23
(Ассемблер)Ввод\вывод строк, удаление лишних пробелов... Марияzzz Помощь студентам 0 28.04.2010 20:01