|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.10.2014, 10:32 | #1 |
Регистрация: 10.03.2010
Сообщений: 4
|
Копирование строк из нескольких Листов по условию на Лист этой же Книги
Добрый день,
Нужна ваша помощь для реализации, думаю не сложной, задачи. Стандартными средствами Excel задача не решается. Нужно сделать макрос. К сожалению моих знаний не хватает. Во вложенном файле шаблон, который содержат материал для реализации задачи. Есть рабочие листы Пост1, Пост2, Пост3, Пост4 которые постоянно наполняются информацией. На основании этой информации нужно сделать отчёты: Бюджет (отдельный лист) и Груз в пути (отдельный лист). 1) Бюджет формируется по следующим критериям: Указываем диапазон даты пример: от 01,11,14 и до 30,11,14, после нажатия кнопки "загрузить" на лист Бюджет копируются строки (если есть возможность определенные ячейки в этих строках) Дата оплаты которых попадает в этот диапазон. Из каждого листа Пост1, Пост2, Пост3, Пост4 последовательно вставляются на Лист Бюджет. 2) Груз в пути формируется по следующему условию: Указываем дату, на которую нужно определить груз в пути после нажатия кнопки "загрузить" применяем условие отбора строк. Все строки, которые: Дата загрузки < ("Дата")< Дата прихода пример: 15.10.2014<("01.11.2014")<15.11.14. Из каждого листа Пост1, Пост2, Пост3, Пост4 последовательно копируются строки (если есть возможность определенные ячейки в этих строках) на Лист Груз в пути. Заранее благодарю за любую помощь! Последний раз редактировалось Mutarix; 29.10.2014 в 09:28. |
24.11.2014, 17:30 | #2 |
Регистрация: 10.03.2010
Сообщений: 4
|
Решение найдено!!!
Решение найдено!!!
После адаптации предложенных вариантов к рабочей среде, было выявлены проблемы работы программы. Цикл поиска прерывался, если в ячейке попадалось значение: "#Н/Д" и #ЗНАЧ! Программа была доработана (выделено жирным): Sub Budget() Application.ScreenUpdating = False Set ShtA = ThisWorkbook.Worksheets("Áþäæåò") ShtA.Range("A4:G" & WorksheetFunction.Max(4, ShtA.Cells(ShtA.Rows.Count, 1).End(xlUp).Row)).Value = "" DateA = Cells(5, 9).Value DateB = Cells(5, 11).Value B = 3 For Each ShtX In ThisWorkbook.Worksheets With ShtX If .Name <> "Груз в пути" And .Name <> "Бюджет" Then C = .Cells(.Rows.Count, 1).End(xlUp).Row If C > 6 Then For A = 6 To C If IsError(.Cells(A, 31).Value) Then Else DateX = .Cells(A, 31).Value If DateX >= DateA And DateX <= DateB Then B = B + 1 ShtA.Cells(B, 1).Value = B - 3 ShtA.Cells(B, 2).Resize(1, 2).Value = .Range(.Cells(A, 2), .Cells(A, 3)).Value ShtA.Cells(B, 4).Resize(1, 1).Value = .Range(.Cells(A, 16), .Cells(A, 16)).Value * 1000 ShtA.Cells(B, 5).Resize(1, 2).Value = .Range(.Cells(A, 29), .Cells(A, 30)).Value ShtA.Cells(B, 7).Resize(1, 1).Value = .Range(.Cells(A, 31), .Cells(A, 31)).Value End If End If Next A End If End If End With Next ShtX Set ShtA = Nothing Application.ScreenUpdating = True End Sub |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
копирование ячеек на лист 2 и по условию копирование строки в буфер | FiataliS | Microsoft Office Excel | 7 | 11.05.2020 18:19 |
Копирование строк таблицы по условию одной ячейки из Лист 1 в Лист 2 | Людвиг | Microsoft Office Excel | 5 | 25.10.2014 11:46 |
копирование строк, соответствующих условию фильтра и копирование на новый лист | xorek | Microsoft Office Excel | 0 | 09.07.2012 18:13 |
копирование одного и того же набор ячеек со всеx существующиx листов на 1ый лист книги | skapitan | Microsoft Office Excel | 6 | 25.03.2010 20:40 |
Выбор ячеек по условию из нескольких листов | hamlook | Microsoft Office Excel | 10 | 10.11.2009 16:00 |