Страницы: 1
RSS
Макрос вставки нужного количества пустых строк
 
Здравствуйте. Нужен макрос, который вставляет нужное количество пустых строк, выше той, на которой стоит выделение. Т. е. это, наверное, всё таки должна быть пользовательская функция, где в качестве аргумента передаётся нужное количество строк и выделяется диапазон (строка), над которым нужно вставить.

Но устроит и макрос, который применяется к указанной (выделенной) строке, потому что, очевидно, в коде можно самому прописывать количество строк по необходимости. Только явно, пожалуйста, укажите это место в коде, где находится число вставляемых строк.
Заранее, спасибо, господа. :)
 
Ростислав, Вставка строк срабатывает некорректно на отфильтрованном диапазоне
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
этот
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim hm
  If Target.Column > 1 Then Exit Sub
  hm = InputBox("Сколько шт.?", "Вставить строки", 3)
  hm = Val(hm): If hm = 0 Then Exit Sub
  Cancel = True: Rows(Target.Row).Resize(hm).Insert shift:=xlShiftDown
End Sub
в модуль листа
потом на листе, двойной клик по ячейке колонки А....
Изменено: Ігор Гончаренко - 09.04.2021 17:18:08
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Пожалуйста, кто может, напишите именно то, что мне нужно. Без ссылок на синонимичные решения. Я не думаю, что это много строчек кода на VBA. Я бы и сам его освоил, но если я буду учить VBA параллельно с JAVA (который сейчас ботаю), у меня получится каша в голове.
В любом случае, Jack Famous, спасибо. :)
 
Ігор Гончаренко, уважаемый, у меня, во-первых, почему-то не отображается макрос в списке, сразу после того, как я код вставляю в модуль. И соответственно, я не могу его вызвать. Двойной клик тоже не работает. В сущности, эта возможность не так важна. И в принципе, было бы удобно делать явный вызов из общего списка.
Скажите, пожалуйста, в чем могло бы быть дело. Может я плохо соображаю. А главное, если у вас есть какое-то решение/код, прикладывайте, пожалуйста, файл, где оно содержится. Так простым смертным проще для понимания.
Изменено: Ростислав - 09.04.2021 14:55:26
 
Код нужно поместить в модуль листа.
Срабатывает на двойной клик по ячейке в первом столбце.
 
Я вставляю код, но ни двойное нажатие не работает, ни в списке его не содержится. Книга сохранена в формате с "поддержкой макросов", если что.
 
См. картинку
 
New, вот скрин, где этот же код именно в модуле листа содержится. И макроса как не было в списке, так и нет. И doubleкликом он тоже не вызывается. Пожалуйста, просто скиньте файл, где всё работает, если у вас это так.
 
Если настаиваете на стандартном модуле, то так:
Код
Sub WorksheetBeforeDoubleClick()
  Dim Target As Range
  Set Target = ActiveCell
  Dim hm
  If Target.Column > 1 Then Exit Sub
  hm = InputBox("Сколько шт.?", "Вставить строки", 3)
  hm = Val(hm): If hm = 0 Then Exit Sub
  'Cancel = True:
  Rows(Target.Row).Resize(hm).Insert shift:=xlShiftDown
End Sub
 
Вам оно надо - в списке?
Не все макросы отображаютсz в списке. Макросы событий (Private), макросы с передаваемыми праметрами, функции...
 
Цитата
Ростислав: этот же код именно в модуле листа содержится
ох и задолбаете же вы тут всех, чувствую - вообще никакого желания вникать + явная ложь
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, какая ложь. Вы о чём вообще?!))) Мне какой резон тут кого-то в чём то обманывать. Разве только я чего-то не понимаю. Но, ложь? Ахахах Просто кринж... Вы свою сслыку кинули, отлично. Больше в этой теме от вас ничего не требуется, да и не требовалось. Смело идите дальше.
Guys, кому не сложно, просто скиньте файл. Макрос в списке появился, но не выполняется. Двойное нажатие, нажатие кнопки выполнить ни к чему не приводят.
Update: в новой книге создал - заработал. Пока соответственно, ничего не нужно. Всем спасибо.
Изменено: Ростислав - 09.04.2021 15:28:23
 
Цитата
Ростислав написал: какая ложь. Вы о чём вообще?!)
О том, что Вы вставили код в общий модуль (о чем говорит название модуля в шапке окна). И не ссылку Вам кинули, а часть Вашей картинки. Вам  же писали, что нужно вставить в модуль нужного листа, еще и картинку с модулями показали.
А Вы после всего показанного:
Цитата
Ростислав написал: ...этот же код именно в модуле листа содержится.
Внимательнее нужно быть...
 
Цитата
Ростислав написал:
Макрос в списке появился, но не выполняется.
Должна быть выделена ячейка в первом столбце.  
 
Цитата
Ростислав: Ахахах Просто кринж...Больше в этой теме от вас ничего не требуется, да и не требовалось. Смело идите дальше … Guys
с вами всё ясно  :D
Изменено: Jack Famous - 09.04.2021 15:30:30
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
vikttur, так lol, я нажимаю Лист1(Лист 1), и там также содержится этот код. Вероятно, это всё же не модуль листа, но я в этом только начал копаться, а человек такие фразы использует. "Явная ложь" Ахах, не ну это эпик. С нетерпение ждём очередную порцию кринжа и душных выражений. ;)  
 
Цитата
Ростислав написал: я нажимаю Лист1(Лист 1), и там также содержится этот код.
Извините, но откуда форуму знать, что там в других модулях находится?! Вы своей невнимательностью вызвали такой ответ. Сами  виноваты.
 
vikttur, понял, принял.
 
Еще одно нужно понять и принять )
В таких случаях показывать нужно пример, в котором не работает предложенное, а не картинки. Избежали бы лишней переписки и раньше получили бы решение.
Страницы: 1
Наверх