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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2013, 09:12   #1
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
Вопрос Копирование необходимого текста на другой лист через команду контекстного меню

Добрый день.
Нужна ваша помощь. Есть одна задумка, но осуществить не получается, т.к. не селен в макросах.
Так как часто приходится копировать необходимый мне текст, с одного листа на другой, хотелось бы, при нажатии правой клавиши мышки перенести необходимый текст на другой лист, в свободную, пустую строку.
Подробнее:
Необходимо, из контекстного меню, выбрать команду "Переместить" и из Листа "ЛМК" автоматически копируется выбранный текст, находящиеся в ячейках столбца С, Е и F на Лист "Оформ." в пустые строки, расположенные ниже имеющегося текста, в ячйки столбцов С,D и E.

Есть файл во вложении.
Заранее спасибо.
Вложения
Тип файла: zip Копия Книга1.zip (60.7 Кб, 4 просмотров)
Сергей Ш. вне форума Ответить с цитированием
Старый 03.09.2013, 11:22   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

1. Создаете контекстное меню Как добавить свои команды в стандартное контекстное меню
2. Назначаете команде контекстного меню Ваш макрос "Переместить".
Макрос можно записать макрорекордером и затем подредактировать, чтобы он находил первую незаполненную строку Как определить последнюю ячейку на листе через VBA
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.09.2013, 11:16   #3
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

В контекстное меню добавил, а вот с макросом не получается.
Как сделать макрорекордером, чтобы необходимый мне текст копировался на другой лист в определенные ячейки.
Сергей Ш. вне форума Ответить с цитированием
Старый 04.09.2013, 11:56   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
чтобы необходимый мне текст копировался на другой лист в определенные ячейки.
Я писал выше, что макрос нужно будет редактировать.
Что-то не получается, выкладывайте файл с тем, что у Вас есть, что получилось.
Посмотрим.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.09.2013, 13:46   #5
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

Файл во вложении.
Вложения
Тип файла: zip Копия Книга1.zip (67.2 Кб, 4 просмотров)
Сергей Ш. вне форума Ответить с цитированием
Старый 04.09.2013, 14:18   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Копирование в нижнюю пустую строку листа "Оформ" можно сделать так
Код:
Sub Макрос2()
    Sheets("ЛМК").Range("C12").Copy
    Sheets("Оформ.").Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
    Sheets("ЛМК").Range("E12").Copy
    Sheets("Оформ.").Cells(Rows.Count, 5).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
    Sheets("ЛМК").Range("F12").Copy
    Sheets("Оформ.").Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
End Sub
Но здесь копируются ТОЛЬКО фиксированные данные, указанные Вами, что и как нужно копировать пока непонятно
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.09.2013, 14:30   #7
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Если же предполагается копировать данные от ФИО, то тогда можно так
Код:
Sub Макрос3()
    Application.ScreenUpdating = False
    With ActiveCell
        .Copy
        Sheets("Оформ.").Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
        .Offset(0, 2).Copy
        Sheets("Оформ.").Cells(Rows.Count, 5).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
        .Offset(0, 3).Copy
        Sheets("Оформ.").Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
    End With
    Application.CutCopyMode = False
End Sub
Становимся в ячейку с ФИО, ПКМ - Переместить
Все работает
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.09.2013, 15:59   #8
Сергей Ш.
Пользователь
 
Регистрация: 02.04.2013
Сообщений: 79
По умолчанию

VictorM
То что надо! Спасибо вам за помощь!
Сергей Ш. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование строки на другой лист dsadik91 Microsoft Office Excel 5 03.06.2012 12:52
Копирование строки на другой лист ! Maksiart Microsoft Office Excel 5 21.11.2011 23:47
Копирование данных фильтра на другой лист GieNa Microsoft Office Excel 7 08.08.2011 17:29
Копирование данных по определенным критериям на другой лист. Dilmira Microsoft Office Excel 5 28.04.2011 16:11
копирование в другой лист nisan Microsoft Office Excel 1 28.10.2010 19:44