Уважаемые Гуру Excel, доброго времени суток! Мне хотелось бы разобраться в проблеме, надеюсь на вашу поддержку и помощь! Суть такова : существует книга эксель (пример наполнения во вложении) первый лист это иерархия оборудования с первого по шестой уровень, последующие листы это дополнение к шестому (последнему) уровню информации (выполняемые операции на данном оборудовании). Проблема: Как сделать автоматическое добавление строк с информацией на первый лист, т.е. если у нас на первом листе электродвигатель, то идет автоматическое добавление строк с четырьмя операциями к нему из листа (электрики)? Хотелка: Возможно ли сделать в первом листе выпадающий список в столбце F, где из выпадающего списка будет выбираться необходимый нам "узел" и происходить автоматическое добавление строк, согласно количеству строк выполняемых операций?
вариант
Цитата: zs5 от 09.04.2017, 10:28
вариант
не вариант, в базе данных около 200000 не повторяющихся единиц оборудования и чтобы все их в формулу записать нужно пальцы до локтей изтыкать)
если 200000 листов, то их где-то надо прописывать
я не говорю про листы,я говорю про единицы оборудования (электродвигатель, металлоконструкция, горелка и т.д.)
Значит так, на данный момент я нашел макрос,который автоматом добавляет по 4 строкb после каждой строки на листе, вот он:
Sub Макрос1()
' Автоматическое добавление строк
' Сочетание клавиш: Ctrl+з
Sub Insert_Rows()
Dim lLastRow As Long, li As Long
Application.ScreenUpdating = 0
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For li = lLastRow To 1 Step -1
Rows(li + 1).Resize(4).Insert
Next li
Application.ScreenUpdating = 1
End Sub
Теперь у меня вопрос состоит в том, чтобы автоматом с других листов, соответствующее оборудование копировалось на главный лист, во вложении это отмечено желтым цветом.
Дорогие ГУРУ, помогите пожалуйста...
До сих пор не могу(((
помощи походу не дождусь)
Тема о добавлении строк, вопрос о копировании данных.
эх(
Так подойдёт?
Цитата: Pelena от 06.06.2017, 10:17
Так подойдёт?
я не пойму, а что вы сделали?)
Я сделала макрос, который надо запустить (Alt+F8)
Цитата: Pelena от 13.06.2017, 14:30
Я сделала макрос, который надо запустить (Alt+F8)
Я оказался уж больно деревянным!)) Спасибо огромное, сейчас разберусь как все работает и под себя попробую переписать.! Спасибо большое!!!
Я начал разбираться, свои данные копировать и у меня произошло непредвиденное обстоятельство, к сожалению ПРИМЕР (который был во вложении) отличается количеством столбцов, необходимых для копирования. В примере это столбцы: узел, №п/п, Операции по обслуживанию, Принадлежность к службе, Периодичность (что составляет, в количественном выражении, 5 столбцов). В реальной жизни, а точнее в реальной таблице у меня таких столбцов насчитывается аж 7, но я не исключаю возможности расширения таблицы до 8 а то и 9 столбцов))) Внимание вопрос- КАК МНЕ БЫТЬ?!?!)))) Заранее спасибо. Во вложении документ.
Проверяйте
Получилось очень странно, в примере все работает, а в оригинальном документе (состоящем из более чем 1500 строк) макрос начинает работать только с 728. При выполнении вылезает ошибка "Run-time error '1004': Application-defined or object-defined error" и далее указывается на строку в макросе "Rows(li + 1).Resize(nrow - 1).Insert xlDown, CopyOrigin:=xlFormatFromLeftOrAbove"
Возможно, у Вас первый столбец не до конца заполнен. Попробуйте строку
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
заменить на
lLastRow = Cells(Rows.Count, 8).End(xlUp).Row