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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 13:17   #11
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Попробуйте выставить даты и нажать зеленую стрелку.
Вложения
Тип файла: zip Оплаты2.zip (12.0 Кб, 10 просмотров)
nilem вне форума Ответить с цитированием
Старый 07.11.2011, 16:26   #12
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

nilem, спасибо Вам большое!
Логику Вашего макроса я кажется понял. Но наверное я допустил большую ошибку в своем смоделированом файле-примере. И все было бы очень хорошо если не разное количество столбцов в исходной и результирующей таблице. Как то это можно обойти?
Вложения
Тип файла: rar Оплаты3.rar (10.0 Кб, 8 просмотров)

Последний раз редактировалось Severny; 07.11.2011 в 16:47.
Severny вне форума Ответить с цитированием
Старый 07.11.2011, 18:56   #13
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Цитата:
Сообщение от Severny Посмотреть сообщение
...если не разное количество столбцов в исходной и результирующей таблице. Как то это можно обойти?
Обходить не будем, айда напролом
Вложения
Тип файла: zip Оплаты4.zip (12.7 Кб, 14 просмотров)
nilem вне форума Ответить с цитированием
Старый 08.11.2011, 11:09   #14
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Самое оно, спасибо! Осталось преложить все на мой реальный пример nilem, а можно Вас попросить объяснить что выполняот следующие части кода:
Код:
With [b3].CurrentRegion
    .Offset(, 12).Resize(, 5).Clear
    ......
    Union(.Columns(1).Resize(, 2), .Columns(4), .Columns(7).Resize(, 2)).SpecialCells(12).Copy [n3]
    .AutoFilter
End With
Severny вне форума Ответить с цитированием
Старый 08.11.2011, 12:32   #15
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

With [b3].CurrentRegion
Попробуйте встать на В3, жмем F5 - Выделить - Текущую область - Ок. То, что будет выделено на листе, - это и есть [b3].CurrentRegion.

.Offset(, 12).Resize(, 5).Clear
Смещаемся от [b3].CurrentRegion на 12 столбцов вправо, уменьшаем размер до 5 столбцов и очищаем. Т.е. очищаем правую табличку со старыми данными.

Union(.Columns(1).Resize(, 2), .Columns(4), .Columns(7).Resize(, 2)).SpecialCells(12).Copy [n3]
(строчка неудачная, прямо скажем, но лучше не придумалось. Может, кто подскажет?)
После применения фильтра нужно скопировать левую табличку, но не все строки, а те, которые отфильтровались, т.е. видимы (SpecialCells(12)), и не все столбцы, а только 1, 2, 4, 7, 8. Копируем в диапазон, начиная с n3 (левая верхняя ячейка целевого диапазона).

.AutoFilter - снимаем фильтр с [b3].CurrentRegion.
nilem вне форума Ответить с цитированием
Старый 09.11.2011, 15:42   #16
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Еще раз спасибо! Пошел разбираться!
Severny вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отфильтровать макросом agregator Microsoft Office Excel 10 28.01.2011 15:18
отфильтровать диапазон значений RaMoNeZz БД в Delphi 8 18.02.2009 20:25
Возможна ли функция Include без применения PHP? Igor Bely HTML и CSS 2 07.01.2009 14:58
организовать тест с рандомовским выбором без применения массивов/ VBA АнНютик Помощь студентам 6 22.12.2008 22:18