Добрый день! Помогите составить формулы для реестра, в котором будет собрана информация с различных листов документа, в прикрепленном файле есть листы с данными по организациям, мне надо собрать в лист "Реестр" информацию, указанную в шапке. Возможно ли написать формулы, которые будут автоматически ее собирать в лист "Реестр"? Если не понятно расписала вопрос, спрашивайте. Заранее благодарна!
Добрый день! Помогите составить формулы для реестра, в котором будет собрана информация с различных листов документа, в прикрепленном файле есть листы с данными по организациям, мне надо собрать в лист "Реестр" информацию, указанную в шапке. Возможно ли написать формулы, которые будут автоматически ее собирать в лист "Реестр"? Если не понятно расписала вопрос, спрашивайте. Заранее благодарна!fanta
1. Не уверен на счет формулы. ВПР не подходит имхо, т.к. источник данных не один диапазон (лист), а три разных листа (а значит и три разных диапазона). 2. И еще хотел уточнить изначально лист реестра пуст? 3. Вы просто хотите со всех листов компаний все агрегировать на один лист "Реестр"? Т.е. ,грубо говоря, просто автоматизированный копипаст? Или есть какая-то логика? 4. И сразу подводный камень, формула может не сработать так же, если у вас акты будут с неверными названиями (не цифры) и/или если номера актов будут пересекаться в разных компаниях.
1. Не уверен на счет формулы. ВПР не подходит имхо, т.к. источник данных не один диапазон (лист), а три разных листа (а значит и три разных диапазона). 2. И еще хотел уточнить изначально лист реестра пуст? 3. Вы просто хотите со всех листов компаний все агрегировать на один лист "Реестр"? Т.е. ,грубо говоря, просто автоматизированный копипаст? Или есть какая-то логика? 4. И сразу подводный камень, формула может не сработать так же, если у вас акты будут с неверными названиями (не цифры) и/или если номера актов будут пересекаться в разных компаниях.mathiax90
Номера актов пересекаться с разными компаниями не будут, нумерация актов будет единая для всех организаций и только цифры по порядку, поэтому в листе "Реестр" сразу прописала номера актов по порядку с 1 и далее. В листе "Реестр" мне надо, чтобы автоматически заполнялись столбцы "дата акта", "организация" и "объем".
Номера актов пересекаться с разными компаниями не будут, нумерация актов будет единая для всех организаций и только цифры по порядку, поэтому в листе "Реестр" сразу прописала номера актов по порядку с 1 и далее. В листе "Реестр" мне надо, чтобы автоматически заполнялись столбцы "дата акта", "организация" и "объем".fanta
Вот очень простой вариант. Сделан на коленке. Но для решения вашей задачи думаю пойдёт. В прикреплённом файле макрос уже на месте осталось только его запустить. Что делает макрос: 1. Создаёт новый лист по текущей дате и времени 2. Данные со всех листов (кроме нового) копируются на новый лист Копирование идёт со второй строки Копирование продолжается до тех пор, пока в первом столбце не встретиться пустая ячейка. 3. Внимательно!!! Запустили один раз макрос, не забудьте удалить созданный лист, а то он тоже в сводную попадёт.
[vba]
Код
Sub agragate()
Dim ash As Worksheet Dim awb As Workbook Dim shCount As Long
Set awb = ActiveWorkbook shCount = awb.Worksheets.Count
awb.Sheets.Add(After:=awb.Sheets(awb.Sheets.Count)).Name = Format(Now, "yyyy-mm-dd HH-MM-ss") Set ash = awb.ActiveSheet
j = 1 For shi = 1 To shCount i = 2 Do ash.Cells(j, 4) = awb.Sheets(shi).Cells(i, 1) ash.Cells(j, 3) = awb.Sheets(shi).Cells(i, 2) ash.Cells(j, 2) = awb.Sheets(shi).Cells(i, 3) ash.Cells(j, 1) = awb.Sheets(shi).Cells(i, 4) i = i + 1 j = j + 1 Loop While awb.Sheets(shi).Cells(i, 1) <> "" Next shi
End Sub
[/vba]
Вот очень простой вариант. Сделан на коленке. Но для решения вашей задачи думаю пойдёт. В прикреплённом файле макрос уже на месте осталось только его запустить. Что делает макрос: 1. Создаёт новый лист по текущей дате и времени 2. Данные со всех листов (кроме нового) копируются на новый лист Копирование идёт со второй строки Копирование продолжается до тех пор, пока в первом столбце не встретиться пустая ячейка. 3. Внимательно!!! Запустили один раз макрос, не забудьте удалить созданный лист, а то он тоже в сводную попадёт.
[vba]
Код
Sub agragate()
Dim ash As Worksheet Dim awb As Workbook Dim shCount As Long
Set awb = ActiveWorkbook shCount = awb.Worksheets.Count
awb.Sheets.Add(After:=awb.Sheets(awb.Sheets.Count)).Name = Format(Now, "yyyy-mm-dd HH-MM-ss") Set ash = awb.ActiveSheet
j = 1 For shi = 1 To shCount i = 2 Do ash.Cells(j, 4) = awb.Sheets(shi).Cells(i, 1) ash.Cells(j, 3) = awb.Sheets(shi).Cells(i, 2) ash.Cells(j, 2) = awb.Sheets(shi).Cells(i, 3) ash.Cells(j, 1) = awb.Sheets(shi).Cells(i, 4) i = i + 1 j = j + 1 Loop While awb.Sheets(shi).Cells(i, 1) <> "" Next shi
Спасибо, с макросами не знакома, но смысл поняла, сбор инфы со всех листов в один лист. А с помощью формулы никак? Есть еще такой момент, необходимо отследить, что ни один акт по организациям не выпал из общей нумерации. Т е, например, по какой-то организации забыли данные по акту внести в листе данной организации и в листе "реестр", где я изначально всю нумерацию от 1 и далее проставила будет видно что акт пропущен (потерян). А с помощью макроса необходимо будет постоянно самой просматривать пропущен акт или нет. Но если другие варианты не возможны, то макрос буду использовать) Еще раз спасибо!
Спасибо, с макросами не знакома, но смысл поняла, сбор инфы со всех листов в один лист. А с помощью формулы никак? Есть еще такой момент, необходимо отследить, что ни один акт по организациям не выпал из общей нумерации. Т е, например, по какой-то организации забыли данные по акту внести в листе данной организации и в листе "реестр", где я изначально всю нумерацию от 1 и далее проставила будет видно что акт пропущен (потерян). А с помощью макроса необходимо будет постоянно самой просматривать пропущен акт или нет. Но если другие варианты не возможны, то макрос буду использовать) Еще раз спасибо!fanta
Спасибо, с макросами не знакома, но смысл поняла, сбор инфы со всех листов в один лист. А с помощью формулы никак? Есть еще такой момент, необходимо отследить, что ни один акт по организациям не выпал из общей нумерации. Т е, например, по какой-то организации забыли данные по акту внести в листе данной организации и в листе "реестр", где я изначально всю нумерацию от 1 и далее проставила будет видно что акт пропущен (потерян). А с помощью макроса необходимо будет постоянно самой просматривать пропущен акт или нет. Но если другие варианты не возможны, то макрос буду использовать) Еще раз спасибо!
Китин очень опытный. Думаю если было бы решение через формулы Китин бы вам подсказал. Решение через формулы наверняка есть, но жутко корявое и не автоматизированное имхо.
НА 100% уверен что будет исключительная ситуация, когда: 1. Будут два акта с одинаковым номером 2. Номер акта будет невалидным (неверным, например с буквой).
Разберитесь с творением Hugo и будет вам счастье. Только я не знаю как оно отреагирует на номер акта допустим 1а. [moder] mathiax90, Вы кнопку Цитата в форме сообщения так и не нашли?[/moder]
Спасибо, с макросами не знакома, но смысл поняла, сбор инфы со всех листов в один лист. А с помощью формулы никак? Есть еще такой момент, необходимо отследить, что ни один акт по организациям не выпал из общей нумерации. Т е, например, по какой-то организации забыли данные по акту внести в листе данной организации и в листе "реестр", где я изначально всю нумерацию от 1 и далее проставила будет видно что акт пропущен (потерян). А с помощью макроса необходимо будет постоянно самой просматривать пропущен акт или нет. Но если другие варианты не возможны, то макрос буду использовать) Еще раз спасибо!
Китин очень опытный. Думаю если было бы решение через формулы Китин бы вам подсказал. Решение через формулы наверняка есть, но жутко корявое и не автоматизированное имхо.
НА 100% уверен что будет исключительная ситуация, когда: 1. Будут два акта с одинаковым номером 2. Номер акта будет невалидным (неверным, например с буквой).
Разберитесь с творением Hugo и будет вам счастье. Только я не знаю как оно отреагирует на номер акта допустим 1а. [moder] mathiax90, Вы кнопку Цитата в форме сообщения так и не нашли?[/moder]mathiax90
webmoney: R242692021885 ЯД:410013877261817
Сообщение отредактировал Pelena - Среда, 20.01.2016, 13:38