Страницы: 1
RSS
вставить только значение - комбинацией клавиш
 
День добрый.  
Подскажите, пожалуйста, как создать (если не существует) комбинацию клавиш для команды "Значение" из меню "Специальная вставка". Как Ctrl+V, только для значения.  
 
Заранее всем благодарен.
 
путем пальпации сделал такую штуку  
 
Sub макрос1()  
' сочетание клавиш: Ctrl+Shift+V  
   
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
       :=False, Transpose:=False  
End Sub  
 
то есть, сперва копируем, то, что надо, потом выделяем ячейку, куда надо вставить данные и нажимаем Ctrl+Shift+V  
всё. в ячейку вставлено то, что скопировано, то только значения.
 
Не подскажете, а почему после выполнения вставки не срабатывает отмена последнего действия, т.е. Ctrl+Z
 
А как-то без макросв? - у  меня пароль стоит на книгу - все макросы отрубает, и откулючить не знаю как.
 
Вынести знак "Вставить значения" на панель (блоком с "Вст.формат" и "Вст.формулы").
 
{quote}{login=Руслан}{date=11.06.2008 11:48}{thema=}{post}Не подскажете, а почему после выполнения вставки не срабатывает отмена последнего действия, т.е. Ctrl+Z{/post}{/quote}  
потому что сделанное макросом, волшебными кнопками не отменить. там какие-то другие способы есть. надо поиск помучать - не так давно ссылочку выкладывали...
 
Почему то Ctrl+Shift+V не работет :(   Хотя если создать кнопку и присвоить ей макрос - то все работает! В чем может быть засада?
 
я конечно могу просто назначить сочетание клавишь для этого макроса, но ведь он изначально написан для вставки значения через Ctrl+Shift+V
 
вовсе нет, прошу прощения, что не указал это сразу. клавиши надо указать самостоятельно!  
как прописать в макросе его запуск от определнных клавиш, я не знаю. этот код создан макрорекордером.
 
опа!!  а как присвоить такое сочетание клавишь??  
в стандартном виде там же стоит Ctrl+  и дольше надо указать букву (причем надо избегать стандартных сочетаний) а как туда еще и шифть впихнуть???
 
да так и впихнуть :-)  
поставить курсор в это очко и нажать шифт и букву. причем в какой раскладке нажмешь (русская или латинская), в такой и будет работать.
 
мда...... сказывается полторы недели работы без выходных :)
 
это ничаво, это бывает :-)  
я кстати положил этот код в книгу макросов и теперь я в любой книге на своем компе могу вставить оперативненько значения :-)
 
Для аналогичных целей записал макрос вставки ссылки в ячейку. Рекордел сделал всего одну строку  
 
ActiveSheet.Paste Link:=True  
 
Но когда я пытаюсь ее выполнить, получаю "Метод Paste из класса Worksheet завершен неверно".  
В чем проблема??
 
{quote}{login=Евгений}{date=12.06.2008 07:03}{thema=А если вставить ссылку?}{post}Рекордер сделал всего одну строку{/post}{/quote}  
 
А предшествующую строку почему Вы не считаете?:  
 
Range(Selection.Address).Select
 
{quote}{login=Дмитрий}{date=11.06.2008 11:04}{thema=вставить только значение - комбинацией клавиш}{post}День добрый.  
Подскажите, пожалуйста, как создать (если не существует) комбинацию клавиш для команды "Значение" из меню "Специальная вставка". Как Ctrl+V, только для значения.  
Заранее всем благодарен.{/post}{/quote}  
---  
Так... Пятница, 13-е число:    
Лузер™ сменил лыжи на ласты, Слэн, наверное, отходит после обработки 800000 массивов, Павел, Игорь и другие Гуру, по-видимому, неплохо отметили праздник.    
Хорошо, что тут Турбо-Ежик завелся :), но и он уже упарился отвечать.  
Попробую отписать что-нибудь.  
 
Начнем с того, как задать сочетания клавиш макросу вручную:  
1. На панели инструментов Visual Basic нажать кнопку 'Выполнить макрос'  
2. Выбрать из списка интересующий Вас макрос  
3. Нажать кнопку  'Параметры'  
4. Ввести символ, поиграть с Shift-ом  
5. Нажать Ok  
 
Чтобы задать сочетания клавиш макросу программно из VBA, нужно:  
1. Назначить, например, Ctrl-Shift-V на макрос PasteValues()  
 
' Автозапуск  
Sub Auto_Open()  
Call SetOnKeys    
End Sub  
 
' Установка нового обработчика для Ctrl-Shift-V  
Sub SetOnKeys()  
Application.OnKey "^+{V}", "PasteValues"  
End Sub  
 
2.  Написать код макроса PasteValues, например, так:  
 
' Новый обработчик для Ctrl-Shift-V = копирование значений / преобразование в значения  
Sub PasteValues()  
With Application  
If .CutCopyMode Then  
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False  
Else  
Selection.Value = Selection.Value  
End If  
End With  
End Sub  
 
В режиме копирования этот макрос копирует значения, а в обычном режиме – преобразовывает выделенные ячейки с формулами в значения.  
 
3. Программно привязку к макросу отключается так:  
 
' Снятие пользовательского обработчика для Ctrl-Shift-V  
Sub SetOffKeys()  
Application.OnKey "^+{V}"  
End Sub  
 
---  
ZVI
 
{quote}{login=** ТУРБО-ЁЖ ** *ЕХСЕL@ХАКЕР.RU* ==============}{date=13.06.2008 01:20}{thema=Re: А если вставить ссылку?}{post}{quote}{login=Евгений}{date=12.06.2008 07:03}{thema=А если вставить ссылку?}{post}Рекордер сделал всего одну строку{/post}{/quote}  
 
А предшествующую строку почему Вы не считаете?:  
 
Range(Selection.Address).Select{/post}{/quote}  
 
Мне надо вставлять в уже активную ячейку. Вот у меня два макроса:  
Sub ВставкаТолькоЗначений()  
'  
' ВставкаТолькоЗначений Макрос  
' Макрос записан 29.04.2008 - вставка только значений  
'  
' Сочетание клавиш: Ctrl+q  
'  
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
       :=False, Transpose:=False  
End Sub  
Sub Макрос1()  
'  
' Макрос1 Макрос  
' Вставка связи  
'  
' Сочетание клавиш: Ctrl+ц  
'  
   ActiveSheet.Paste Link:=True  
End Sub  
 
Первый работает (вставка в текущую только значений), второй - выдает ошибку.
 
ZVI, спасибо за науку!
 
{quote}{login=}{date=13.06.2008 09:20}{thema=Re: Re: А если вставить ссылку?}{post}Мне надо вставлять в уже активную ячейку.{/post}{/quote}  
 
Что если сразу копировать ссылку, а вставлять как обычно?  
 
Sub CopyLinkNew()  
Dim YO As New DataObject  
With YO  
.Clear  
.SetText "=" & ActiveCell.Address  
.PutInClipboard  
End With  
End Sub
 
Тогда не получится вставит ссылки сразу на диапазон ячеек. У меня "производственная" необходимость работать именно с диапазонами. А по одной ячейке... тогда проще через меню :(
 
Я, если честно, не понимаю. На буржуйских форумах аналогичная штука решается просто командой  
 
ActiveSheet.Paste Link:=True  
 
то есть, как рекордер и записал. Может у меня проблемы с экселем, что оно не работает?...
 
{quote}{login=Дмитрий}{date=11.06.2008 11:04}{thema=вставить только значение - комбинацией клавиш}{post}День добрый.  
Подскажите, пожалуйста, как создать (если не существует) комбинацию клавиш для команды "Значение" из меню "Специальная вставка". Как Ctrl+V, только для значения.  
 
Заранее всем благодарен.{/post}{/quote}  
 
Заходим в настройку панелей -> Команды/Правка. Перетащить кнопку {Вставить значения} на любую панель. В свойствах кнопки отобразить вывод названия кнопки. Теперь самое главное: обращаем внимание на имя {Вст&авить значения} - буква после & и есть буква в комбинации Alt+<?> (получилось Alt+а). Если есть кнопки с подобной комбинацией, то лучше перетащить & на другое место (например у меня перед буквой {и}). Всё!  
Стоит обратить внимание, если
 
{quote}{login=An}{date=19.09.2008 02:30}{thema=Re: вставить только значение - комбинацией клавиш}  
Заходим в настройку панелей -> Команды/Правка. Перетащить кнопку {Вставить значения} на любую панель. В свойствах кнопки отобразить вывод названия кнопки. Теперь самое главное: обращаем внимание на имя {Вст&авить значения} - буква после & и есть буква в комбинации Alt+<?> (получилось Alt+а). Если есть кнопки с подобной комбинацией, то лучше перетащить & на другое место (например у меня перед буквой {и}). Всё!  
Стоит обратить внимание, если{/post}{/quote}  
В 2010 не получается.  
Может, есть еще какой-нибудь способ?
 
Есть! Копи - Ctrl+C, паст - Alt,0+9 (на основной)... И вообще - Alt жмем и внимательно смотрим подсказки сочетаний клавиш...  ;)  
ps А еще можно на ПБД вынести кнопки...  
-59371-
Страницы: 1
Читают тему
Наверх