Страницы: 1
RSS
Как добавить сроки через макрос?
 
Доброго времени суток!)
Что изменить в макросе с кодом:  
Код
Sub ДобавитьСтроку()   
Dim vrowCol   
Dim a As String   
vrowCol = InputBox("Сколько строк добавить?", "Воод значений")   
vrowCol = Val(vrowCol): If vrowCol = 0 Then Exit Sub   
With ActiveCell   
Application.ScreenUpdating = False   
a = CStr(.Row) & ":" & CStr(.Row + vrowCol - 1)   
Rows(a).Insert Shift:=xlDown   
Application.ScreenUpdating = True   
End With   
End Sub

чтобы строки добавлялись в конец таблицы, а не в середину, как в данном макросе.
И как сделать так, чтобы при добавлении n количества строк в таблицу 1, добавлялась n количества строк в аналогичную таблицу 2 на листе2 (таблиц может быть много, а не обязательно 2 шт.).
 
Цитата
guovovna.anastasya написал:
чтобы строки добавлялись в конец таблицы, а не в середину, как в данном макросе.
- в данном макросе они вставляются не в середину таблицы, а туда, куда укажете вставлять. Будьте корректны.
 
Цитата
Hugo написал:
в данном макросе они вставляются не в середину таблицы, а туда, куда укажете вставлять. Будьте корректны.
да неправильно высказалась, мне нужно чтобы строка вставлялась в конец, а не перед активной строкой.
 
guovovna.anastasya, здравствуйте! Ознакомьтесь с возможностями диалогов… По коду:
Код
Option Explicit
Sub ДобавитьСтроку()
Dim nRow&
On Error GoTo ex
nRow = Application.InputBox("Сколько строк добавить", "Запрос ЦЕЛОГО числа", 1, Type:=1)
    If nRow <> Abs(CLng(nRow)) Then MsgBox "Ошибка ввода данных!", vbCritical, "FATAL ERROR": GoTo ex
Cells(ActiveCell.Row + 1, 1).Resize(nRow).EntireRow.Insert

GoTo fin
ex:
MsgBox "Отмена выполнения…", vbInformation, "EXIT"

fin:
On Error GoTo 0
End Sub
Цитата
guovovna.anastasya написал:
нужно чтобы строка вставлялась в конец, а не перед активной строкой
в таком случае вычисляйте нужную строку, после которой вставлять и заменяйте ActiveCell.Row на положительное целое число нужной строки…
Цитата
guovovna.anastasya написал:
как сделать так, чтобы при добавлении n количества строк в таблицу 1, добавлялась n количества строк в аналогичную таблицу 2 на листе2 (таблиц может быть много, а не обязательно 2 шт.)
если у вас по 1 таблице на листе и количество строк в таблицах одинаковое, то просто цикл по листам
(For each sh in ActiveWorkBook.WorkSheets…) с добавлением строк, а если условия другие, то по-другому  :D

В любом случае, за рамки темы мы уже вышли, т.к. на вопрос о вставке строк я вам ответил. Если хотите, то разбивайте свою задачу и создавайте отдельные темы под каждую  ;)  А перед этим, изучите мои ссылки.
Изменено: Jack Famous - 22.03.2018 13:15:55
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Спасибо огромное, буду разбираться)
Страницы: 1
Наверх