Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Копирование нескольких строк с объединёнными ячейками - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Копирование нескольких строк с объединёнными ячейками
ASV007 Дата: Пятница, 30.06.2023, 15:07 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Всем здравствуйте.
Необходимо с помощью макроса скопировать нижнюю строку таблицы, состоящей из четырёх объединённых строк, и вставить в первую пустую строку под этой таблицей. Одним словом, продолжить таблицу. Нижнюю незаполненную строку я ищу через
[vba]
Код
a = Cells(Rows.Count, 1).MergeArea.End(xlUp).Row + 4
[/vba]
А дальше начинается непонятное. Как мне скопировать строки от а до а+3? Если я пишу
[vba]
Код
Rows("a:a + 3").Copy
[/vba]
вылетает ошибка "Run-time error '1004' Application-defined or object-defined error"
Если этим "а+3" присваиваю новую переменную "b", то всё равно выскакивает та же ошибка.
Подскажите, пожалуйста, в чём проблема?

Понятно, что можно копировать не строки целиком, а найти последний заполненный столбец и скопировать диапазон от, например, A9 до какого-нибудь AU12, но ведь это же неспортивно! :-)

Сейчас тестовый код такой:
[vba]
Код
Sub test()
Dim a As Long, b As Long
    a = Cells(Rows.Count, 1).MergeArea.End(xlUp).Row + 4
    b = a + 3
    Rows("a:b").Copy
End Sub
[/vba]

Как должна выглядеть последняя строчка?
К сообщению приложен файл: test.xlsm (18.8 Kb)


Сообщение отредактировал ASV007 - Пятница, 30.06.2023, 15:08
 
Ответить
СообщениеВсем здравствуйте.
Необходимо с помощью макроса скопировать нижнюю строку таблицы, состоящей из четырёх объединённых строк, и вставить в первую пустую строку под этой таблицей. Одним словом, продолжить таблицу. Нижнюю незаполненную строку я ищу через
[vba]
Код
a = Cells(Rows.Count, 1).MergeArea.End(xlUp).Row + 4
[/vba]
А дальше начинается непонятное. Как мне скопировать строки от а до а+3? Если я пишу
[vba]
Код
Rows("a:a + 3").Copy
[/vba]
вылетает ошибка "Run-time error '1004' Application-defined or object-defined error"
Если этим "а+3" присваиваю новую переменную "b", то всё равно выскакивает та же ошибка.
Подскажите, пожалуйста, в чём проблема?

Понятно, что можно копировать не строки целиком, а найти последний заполненный столбец и скопировать диапазон от, например, A9 до какого-нибудь AU12, но ведь это же неспортивно! :-)

Сейчас тестовый код такой:
[vba]
Код
Sub test()
Dim a As Long, b As Long
    a = Cells(Rows.Count, 1).MergeArea.End(xlUp).Row + 4
    b = a + 3
    Rows("a:b").Copy
End Sub
[/vba]

Как должна выглядеть последняя строчка?

Автор - ASV007
Дата добавления - 30.06.2023 в 15:07
Nic70y Дата: Пятница, 30.06.2023, 15:30 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8984
Репутация: 2359 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub test()
    a = Cells(Rows.Count, 1).End(xlUp).Row
    Rows(a & ":" & a + 3).Copy Range("a" & a + 4)
End Sub
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub test()
    a = Cells(Rows.Count, 1).End(xlUp).Row
    Rows(a & ":" & a + 3).Copy Range("a" & a + 4)
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 30.06.2023 в 15:30
ASV007 Дата: Пятница, 30.06.2023, 15:49 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, вот как оно на самом деле-то делается, оказывается... Пробовал туда & с кавычками запихать, но неправильно.
Большое спасибо!
 
Ответить
СообщениеNic70y, вот как оно на самом деле-то делается, оказывается... Пробовал туда & с кавычками запихать, но неправильно.
Большое спасибо!

Автор - ASV007
Дата добавления - 30.06.2023 в 15:49
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!