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

Вход

Регистрация

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

 

= Мир MS Excel/VBA найти последнюю пустую ячейку и вставить значение - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
VBA найти последнюю пустую ячейку и вставить значение
Spirtuoz Дата: Суббота, 19.12.2020, 20:35 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Добрый день.

Столкнулся с проблемой. На листе 1 есть строка с данными. На листе 2 есть таблица, в которую нужно эту строку вбить при выполнении макроса. При этом Таблица на листе 2 содержит заголовки в 1 строке.

Нужно сделать так,чтобы данные из листа 1 копировались и вставлялись на лист 2 в таблицу в строку ниже последней заполненной строки. При этом возможна ситуация, когда в таблице не будет данных (только один заголовок), а может быть ситуация, когда таблица заполнена уж некоторыми данными (как в файле примере). Файл пример прикрепляю.

Буду благодарен за помощь!
К сообщению приложен файл: 7578483.xlsx (9.2 Kb)
 
Ответить
СообщениеДобрый день.

Столкнулся с проблемой. На листе 1 есть строка с данными. На листе 2 есть таблица, в которую нужно эту строку вбить при выполнении макроса. При этом Таблица на листе 2 содержит заголовки в 1 строке.

Нужно сделать так,чтобы данные из листа 1 копировались и вставлялись на лист 2 в таблицу в строку ниже последней заполненной строки. При этом возможна ситуация, когда в таблице не будет данных (только один заголовок), а может быть ситуация, когда таблица заполнена уж некоторыми данными (как в файле примере). Файл пример прикрепляю.

Буду благодарен за помощь!

Автор - Spirtuoz
Дата добавления - 19.12.2020 в 20:35
_Igor_61 Дата: Суббота, 19.12.2020, 21:04 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 504
Репутация: 90 ±
Замечаний: 0% ±

Excel 2007
Можно так например:
[vba]
Код
Sub Макрос1()
    Sheets("Лист1").Range("A2:F2").Copy
    Sheets("Лист2").Activate
    Sheets("Лист2").Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub
[/vba]
Или так:
[vba]
Код
Sub Макрос1()
   Dim r&
   r = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row + 1
   Sheets("Лист1").Range("A2:F2").Copy Sheets("Лист2").Range("A" & r & ":F" & r)
End Sub
[/vba]


Сообщение отредактировал _Igor_61 - Суббота, 19.12.2020, 21:13
 
Ответить
СообщениеМожно так например:
[vba]
Код
Sub Макрос1()
    Sheets("Лист1").Range("A2:F2").Copy
    Sheets("Лист2").Activate
    Sheets("Лист2").Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub
[/vba]
Или так:
[vba]
Код
Sub Макрос1()
   Dim r&
   r = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row + 1
   Sheets("Лист1").Range("A2:F2").Copy Sheets("Лист2").Range("A" & r & ":F" & r)
End Sub
[/vba]

Автор - _Igor_61
Дата добавления - 19.12.2020 в 21:04
Spirtuoz Дата: Суббота, 19.12.2020, 23:10 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

_Igor_61, Спасибо большое! Все работает!
 
Ответить
Сообщение_Igor_61, Спасибо большое! Все работает!

Автор - Spirtuoz
Дата добавления - 19.12.2020 в 23:10
atarumov Дата: Понедельник, 07.03.2022, 20:15 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

_Igor_61, Добрый вечер!
Подскажите пожалуйста, а как в вашем примере можно сделать специальную вставку?
У меня задача та же, но на первом листе есть формулы.
Спасибо.
 
Ответить
Сообщение_Igor_61, Добрый вечер!
Подскажите пожалуйста, а как в вашем примере можно сделать специальную вставку?
У меня задача та же, но на первом листе есть формулы.
Спасибо.

Автор - atarumov
Дата добавления - 07.03.2022 в 20:15
Alex_ST Дата: Четверг, 10.03.2022, 13:11 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
atarumov, просто замените [vba]
Код
ActiveSheet.Paste
[/vba] на [vba]
Код
ActiveSheet.PasteSpecial Paste:=xlPasteValues
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщениеatarumov, просто замените [vba]
Код
ActiveSheet.Paste
[/vba] на [vba]
Код
ActiveSheet.PasteSpecial Paste:=xlPasteValues
[/vba]

Автор - Alex_ST
Дата добавления - 10.03.2022 в 13:11
  • Страница 1 из 1
  • 1
Поиск:

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