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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2010, 08:47   #1
Gorimir
 
Аватар для Gorimir
 
Регистрация: 30.11.2009
Сообщений: 8
По умолчанию Удаление ненужных строк при копировании отобранных данных

Здравствуйте!

Необходимо создать лист выборки из таблицы, выбранные данные должны копироваться на лист "отчет". Подробнее см.пример.

Проблема в том, что копируются еще заголовок и строка итогов. Но прописать просто диапазон (например B5:H20)нельзя, так как заранее неизвестно, что будет выбираться.

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

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

Я недавно в экселе таблицы писать начала, опыта мало.

Заранее спасибо.
Вложения
Тип файла: rar пример.rar (19.0 Кб, 14 просмотров)
Может я и буратино, а учиться все таки хочу!!!
Gorimir вне форума Ответить с цитированием
Старый 24.03.2010, 09:51   #2
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

не совсем понял зачем Вам фильтрация, может так хватит?

Код:
Sub pp()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim il As Long, il2 As Long
Set sh1 = Sheets("Исходные данные")
Set sh2 = Sheets("Отчет")
il2 = sh2.Cells(Rows.Count, 2).End(xlUp).Row
sh2.Range("b5:h" & il2).Clear
il = sh1.Cells(Rows.Count, 2).End(xlUp).Row - 1
sh1.Range(sh1.Cells(4, 2), sh1.Cells(il, 8)).Copy
sh2.Cells(5, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Dophin вне форума Ответить с цитированием
Старый 24.03.2010, 11:32   #3
Gorimir
 
Аватар для Gorimir
 
Регистрация: 30.11.2009
Сообщений: 8
По умолчанию

Фильтрация использована потому, что я других выходов найти не смогла, к сожалению, пока синтаксис ВБА знаю из рук вон плохо, но буду учить, хотя бы для того, чтобы ответ понять)
Может я и буратино, а учиться все таки хочу!!!
Gorimir вне форума Ответить с цитированием
Старый 24.03.2010, 11:57   #4
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

ну работает то как надо? иль не?
Dophin вне форума Ответить с цитированием
Старый 24.03.2010, 12:19   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

На сколько я понял, автору требуется выбрать из списка те значения, которые удовлетворяют условиям ячеек с выпадающими списками строки 4 листа "Отчет". Если так, то я тоже предлагаю обойтись без фильтра. Посмотрите вложение. Выберите требуемые значения из выпадающих списков и нажмите кнопку "Выборка".
Вложения
Тип файла: rar пример_2.rar (17.1 Кб, 16 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 24.03.2010, 12:40   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Во вложении исправленный файл, в котором исключены возможные ошибки.
Вложения
Тип файла: rar пример_3.rar (18.6 Кб, 19 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 24.03.2010, 13:36   #7
Gorimir
 
Аватар для Gorimir
 
Регистрация: 30.11.2009
Сообщений: 8
По умолчанию

Спасибо ОГРОМНОЕ) ответившим!!!
работает) отлично) и гораздо быстрее, чем в моем варианте)
Буду разбирать и приспосабливать к своей базе)
Может я и буратино, а учиться все таки хочу!!!
Gorimir вне форума Ответить с цитированием
Старый 29.03.2010, 13:30   #8
Gorimir
 
Аватар для Gorimir
 
Регистрация: 30.11.2009
Сообщений: 8
По умолчанию

Очистка листа, к сожалению, работает правильно только если заполнет последний столбец( если нет то удаляет информацию только с 3 строк
Может я и буратино, а учиться все таки хочу!!!
Gorimir вне форума Ответить с цитированием
Старый 30.03.2010, 07:51   #9
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Для устранения этого недостатка, в коде макроса строку
Код:
Range([B5], Cells(Rows.Count, "H").End(xlUp).Offset(3)).ClearContents
замените на
Код:
Range([B5], Cells(Rows.Count, "H")).ClearContents
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 30.03.2010, 08:18   #10
Gorimir
 
Аватар для Gorimir
 
Регистрация: 30.11.2009
Сообщений: 8
По умолчанию

Премного благодарна) работает отлично
Может я и буратино, а учиться все таки хочу!!!
Gorimir вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel 2007 автоматическое удаление старых строк при потоковом поступлении новых Swindler_1 Microsoft Office Access 5 17.03.2010 21:30
Excel 2007 автоматическое удаление старых строк при потоковом поступлении новых Swindler_1 Microsoft Office Excel 35 15.03.2010 15:55
Удаление ненужных компонентов из установленной Win7 v01d Windows 1 28.12.2009 15:32
Удаление строк при рекурсии (Delphi) Alco Помощь студентам 2 16.06.2009 15:06
Скрытие ненужных строк/столбцов Bayers Microsoft Office Excel 4 19.10.2007 12:05