Друзья, помогите с написанием макроса! Буду Вам премного благодарен за квалифицированную консультацию и практические рекомендации. У меня задача заключается в следующем: При введении цифры в любую ячейку диапазона (H4:BG5002), например цифры 1, 2....1000, необходимо, чтобы вся строка, в которую была введена цифра в диапазон (H4:BG5002) копировалась со всем содержимым и формулами и вставлялась строкой ниже, при этом количество скопированных и вставленных строк равнялось этому числу, то есть ввели число 5 в диапазон (H4:BG5002, например строка H4), соответственно строка H4 была скопирована и вставлена в количестве пяти строк начиная с H5 (то есть сразу под строкой в которую ввели цифру). Пример во вложении.
Друзья, помогите с написанием макроса! Буду Вам премного благодарен за квалифицированную консультацию и практические рекомендации. У меня задача заключается в следующем: При введении цифры в любую ячейку диапазона (H4:BG5002), например цифры 1, 2....1000, необходимо, чтобы вся строка, в которую была введена цифра в диапазон (H4:BG5002) копировалась со всем содержимым и формулами и вставлялась строкой ниже, при этом количество скопированных и вставленных строк равнялось этому числу, то есть ввели число 5 в диапазон (H4:BG5002, например строка H4), соответственно строка H4 была скопирована и вставлена в количестве пяти строк начиная с H5 (то есть сразу под строкой в которую ввели цифру). Пример во вложении.Bulava81
Нет вложения. Вопрос: С формулами копирование должно происходить со смещением (если ссыки не абсолютные)? Или во всех скопированных строках формулы должны ссылаться на одни и те же диапазоны?
Нет вложения. Вопрос: С формулами копирование должно происходить со смещением (если ссыки не абсолютные)? Или во всех скопированных строках формулы должны ссылаться на одни и те же диапазоны?SkyPro
Прошу прощения, прикреплял файл, но видимо сбилось. В отношении формул, которые копируются, если ссылки в формуле абсолютные, то соответственно они будут зафиксированы, а если относительные то, они должны смещаться в соответствии с копированием строки, то есть если строка копируется и вставляется 2-й, 3-й и т. д., то и относительные ссылки смещаются вниз пропорционально на 2, 3 строки и т.д.
Прошу прощения, прикреплял файл, но видимо сбилось. В отношении формул, которые копируются, если ссылки в формуле абсолютные, то соответственно они будут зафиксированы, а если относительные то, они должны смещаться в соответствии с копированием строки, то есть если строка копируется и вставляется 2-й, 3-й и т. д., то и относительные ссылки смещаются вниз пропорционально на 2, 3 строки и т.д.Bulava81
Private Sub Worksheet_Change(ByVal Target As Range) Dim tRow&, cnt& Application.EnableEvents = False Application.ScreenUpdating = False If Not Target.Count > 1 Then If IsNumeric(Target.Value) Then If Not Intersect(Target, Range("H4:BG" & UsedRange.Rows.Count)) Is Nothing Then cnt = Target.Value tRow = Target.Row For i = 1 To cnt Rows(tRow & ":" & tRow).Copy Rows(tRow + 1 & ":" & tRow + 1).Insert Shift:=xlDown Next End If End If End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub
[/vba] В модуль листа "База Данных".
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim tRow&, cnt& Application.EnableEvents = False Application.ScreenUpdating = False If Not Target.Count > 1 Then If IsNumeric(Target.Value) Then If Not Intersect(Target, Range("H4:BG" & UsedRange.Rows.Count)) Is Nothing Then cnt = Target.Value tRow = Target.Row For i = 1 To cnt Rows(tRow & ":" & tRow).Copy Rows(tRow + 1 & ":" & tRow + 1).Insert Shift:=xlDown Next End If End If End If Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Спасибо тебе огромное, Мил Человек, за помощь! Все работает, задача решена. Я всегда относился с уважением к специалистам высокого уровня! Спасибо еще раз!
Спасибо тебе огромное, Мил Человек, за помощь! Все работает, задача решена. Я всегда относился с уважением к специалистам высокого уровня! Спасибо еще раз!Bulava81
Дружище, а не подскажешь, как модифицировать макрос таким образом, если я удаляю введенную цифру из диапазона (H4:BG5002), то и скопированные строки, тоже удалялись бы?
Дружище, а не подскажешь, как модифицировать макрос таким образом, если я удаляю введенную цифру из диапазона (H4:BG5002), то и скопированные строки, тоже удалялись бы?Bulava81
Хотел бы еще за одной помощью обратиться, у меня в столбце D прописана логическая формула на проверку сопоставимости числовых значений, соответственно можно модифицировать макрос таким образом, если при введении числа в указанный диапазон (H4:BG5002), в столбце D формула выдает ошибку, то копирование строк не производится? Заранее огромное спасибо за помощь!
Хотел бы еще за одной помощью обратиться, у меня в столбце D прописана логическая формула на проверку сопоставимости числовых значений, соответственно можно модифицировать макрос таким образом, если при введении числа в указанный диапазон (H4:BG5002), в столбце D формула выдает ошибку, то копирование строк не производится? Заранее огромное спасибо за помощь!Bulava81