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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2016, 11:10   #1
linguist
Пользователь
 
Регистрация: 08.06.2016
Сообщений: 24
По умолчанию Выделение ячейки цветом по сочетанию клавиш

Добрый день.

Нужно по нажатию клавиш Ctrl-C не только копировать в буфер, но и выделять активную ячейку цветом. Записал макрос, который выделяет ячейку по сочетанию клавиш, но теперь таким сочетанием не получается копировать. Подскажите, как добавить обе функции (копирование, раскраска) на Ctrl-C.


Код:
Sub Макрос5()
'
' Макрос5 Макрос
'
' Сочетание клавиш: Ctrl+c
'
    ActiveCell.Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub
linguist вне форума Ответить с цитированием
Старый 27.06.2016, 12:02   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

добавьте
Код:
Selection.Copy
в начале или конце макроса в зависимости от того в каком состоянии ячейку нужно скопировать (в первоначальном или уже раскрашенном)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.06.2016, 12:11   #3
linguist
Пользователь
 
Регистрация: 08.06.2016
Сообщений: 24
По умолчанию

Спасибо. Только хотел отписать, что нашел решение)

Но пришлось чуть изменить код, потому как если назначать макрос на кнопку, нужно учитывать раскладку клавиатуры. Соответственно, получилось следующее:

Код:
Sub Выделить_и_скопировать()

' Сочетание клавиш: Ctrl+с
' рус

    ActiveCell.Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    
    Selection.Copy
    
' Сочетание клавиш: Ctrl+c
' англ

    ActiveCell.Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    
    Selection.Copy

End Sub
linguist вне форума Ответить с цитированием
Старый 27.06.2016, 13:05   #4
linguist
Пользователь
 
Регистрация: 08.06.2016
Сообщений: 24
По умолчанию

Подскажите еще, как вставить из буфера обмена?
Нужно скопировать таблицу из ворда, потом выполнить макрос. Хочу сделать так, чтобы при нажатии сочетаний Ctrl-V, вставлялась таблица, а потом выполнялся макрос, но не пойму как реализовать. Можно реализовать задуманное способом вроде ActiveCell.Paste?
linguist вне форума Ответить с цитированием
Старый 27.06.2016, 13:31   #5
linguist
Пользователь
 
Регистрация: 08.06.2016
Сообщений: 24
По умолчанию

По вставке текста помог вот такой вариант

Код:
ActiveCell.Select
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False
linguist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение цветом повторяющихся слов в ячейки (ячейках) Puffi.Muffi Microsoft Office Excel 1 23.04.2014 14:59
Выделение цветом столбца и строки активной ячейки cerberochek Microsoft Office Excel 7 28.11.2012 12:56
Выделение ячейки цветом GanjaKyp Microsoft Office Excel 10 05.03.2011 11:48
Выделение цветом активной ячейки в excel ksmspb Microsoft Office Excel 1 05.08.2009 14:26
Выделение ячейки цветом - StringGrid. Chudo4258 Помощь студентам 1 01.04.2009 07:03