Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2011, 10:32   #1
dalmatin
Новичок
Джуниор
 
Регистрация: 11.03.2011
Сообщений: 2
По умолчанию Макрос для простого копипаста

Добрый день!
Помогите, пожалуйста, с такой задачей:
В одной книге есть два листа. На одном имеются данные, размещенные по столбцам и строкам. Второй лист пустой. Необходим макрос, осуществляющий копирование выделеного диапазона строки (выделение диапазона осуществляет пользователь) из листа с данными в пустой лист, допустим в ячейку В2, по нажатию назначенной кнопки. Затем снова пользователь выделяет необходимый диапазон строки, нажимает ту же кнопку и скопированые данные должны поместиться уже в ячеку В3... и так далее...пока не надоест
Заранее благодарен за Вашу помощь!
Вложения
Тип файла: rar БАЗА.rar (12.5 Кб, 13 просмотров)
dalmatin вне форума Ответить с цитированием
Старый 11.03.2011, 10:44   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Код на кнопку:
Код:
Sub Внести()
       Selection.Copy Destination:=Worksheets("КП").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 11.03.2011, 10:51   #3
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Чтобы снимать выделение с диапазона после копирования, можно так еще написать
Код:
Sub Внести()
    Application.ScreenUpdating = False
    Selection.Copy Destination:=Worksheets("КП").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
    ActiveCell.Select
End Sub
Вложения
Тип файла: zip БАЗА.zip (14.9 Кб, 16 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 11.03.2011, 10:55   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Sub copypaste()
With Лист6
Range(Cells(Selection.Row, 2), Cells(Selection.Row, 5)).Copy .Cells(.Cells(Rows.Count, 2).End(xlUp).Row + 1, 2)
End With
Beep
End Sub
Без выделения - копирует из активной строки заданный в коде диапазон.
Долго писал...
Одну строку можно сократить по примеру свыше
Код:
Range(Cells(Selection.Row, 2), Cells(Selection.Row, 5)).Copy .Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 11.03.2011 в 11:00.
Hugo121 вне форума Ответить с цитированием
Старый 11.03.2011, 11:25   #5
dalmatin
Новичок
Джуниор
 
Регистрация: 11.03.2011
Сообщений: 2
По умолчанию

Вот спасибо вам всем большое! Все прекрасно работает
dalmatin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
для работы написать макрос для Excel и Word.... smanna Microsoft Office Excel 2 30.11.2010 12:43
Программа для создания загрузочной винды из простого офф образа. kakawkin Операционные системы общие вопросы 1 09.11.2009 19:26
Чем отличается раздел public от простого? И как сделть функцию сразу для двух действий? TwiX Общие вопросы Delphi 1 06.10.2009 23:00
Надо макрос для Excel для перестановки букв dionisprf Microsoft Office Excel 2 10.06.2009 06:04