Страницы: 1
RSS
Как сделать так, чтобы CTRL + V вставлял лишь значения?
 
Добрый день. Этот вопрос неоднократно был на вашем форуме.  
Из ответов нашел следующее:  
Заходим в настройку панелей -> Команды/Правка. Перетащить кнопку {Вставить значения} на любую панель. В свойствах кнопки отобразить вывод названия кнопки. Теперь самое главное: обращаем внимание на имя {Вст&авить значения} - буква после & и есть буква в комбинации Alt+<?> (получилось Alt+а). Если есть кнопки с подобной комбинацией, то лучше перетащить & на другое место (например у меня перед буквой {и}). Всё!  
Стоит обратить внимание, если  
 
Кнопку на панель инструментов я вывел. А как теперь сделать так, чтобы комбинация клавиш CTRL+V автоматически вставляла лишь значения скопированных ранее ячеек, без формул так и не понял. Подскажите пожалуйста?
 
{quote}{login=The_Prist}{date=05.05.2010 08:05}{thema=}{post}Здравствуйте.  
Только макросами. И тогда будет один существенный недостаток - после такой вставки Вы не сможете отменить ранее сделанные изменения.{/post}{/quote}  
А как сделать макрос? С удовольствием бы воспользовался
 
{quote}{login=The_Prist}{date=05.05.2010 08:28}{thema=}{post}Макрос только вставляет скопированное как значения.  
 
Sub My_Special_Paste()  
Activecell.Pastespecial xlpastevalues  
end sub  
 
В модуль ЭтаКнига такой код(если хотите использовать во всех книгах - запустите данный код один раз при открытии Excel). Я бы посоветовал все же выбрать другую комбинацию клавиш(вдруг стандартное копирование понадобится?). Но дело Ваше.  
Private Sub Workbook_Open()  
Application.OnKey "^v", "My_Special_Paste"  
End Sub  
 
На закрытие книги снимаем макрос с сочетания клавиш(в тот же модуль ЭтаКнига)  
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
Application.OnKey "^v"  
End Sub{/post}{/quote}  
Боюсь показаться глупым, но я в Екселе никогда не сталкивался с макросами и потому понятия не имею куда заходить и куда все это вставлять и как сделать чтоб работало. С Бэзиком то дружил в свое время и примерно понимаю макрос, а вот куда чего пихать, увы :(
 
{quote}{login=The_Prist}{date=05.05.2010 08:52}{thema=}{post}Почитайте здесь - <EM>http://excel-vba.ru/Tips_What_Module.html</EM><BR>Вам нужен обычный модуль и модуль ЭтаКнига.{/post}{/quote}  
Насколько я понял мне нужно нажать ALT+F11 в появившемся окне 2 раза на модуль "Эта книга" и в этом пустом поле вбить макрос:  
Sub My_Special_Paste()  
Activecell.Pastespecial xlpastevalues  
end sub  
 
Затем вверху выбрать "Workbook" - "Open"  
там вбить    
Private Sub Workbook_Open()  
Application.OnKey "^v", "My_Special_Paste"  
End Sub  
Причем вместо V могу поставить любую другую клавишу  
 
и потом выбрать закладку    
Workbook - Before Close и там вбить последнюю часть  
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
Application.OnKey "^v"  
End Sub  
И потом когда закончу громадную работу, чтобы все это убрать достаточно стереть макросы?
 
{quote}{login=The_Prist}{date=05.05.2010 09:12}{thema=Re: Re: }{post}{quote}{login=ocean}{date=05.05.2010 09:10}{thema=Re: }{post}И потом когда закончу громадную работу, чтобы все это убрать достаточно стереть макросы?{/post}{/quote}Да.{/post}{/quote}  
 
Вот у меня что написано, когда я 2 раза тыкаю на "ЭтаКнига"  
Sub My_Special_Paste()  
ActiveCell.PasteSpecial xlPasteValues  
End Sub  
 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
Application.OnKey "^z"  
End Sub  
 
Private Sub Workbook_Open()  
Application.OnKey "^z", "My_Special_Paste"  
End Sub  
 
Пробовал вверху нажать кнопку воспроизведения, выводит ошибку:  
Метод PastSpecial из класса Range завершен неверно.  
 
И когда в одном файле копирую ячейки, переключаюсь на другой файл, нажимаю CTRL+Z и ничего не происходит
 
Sub My_Special_Paste()  
   Selection.PasteSpecial Paste:=xlPasteValues  
End Sub  
 
Попробуйте так.
 
{quote}{login=ТолькоУчусь}{date=05.05.2010 09:47}{thema=}{post}Sub My_Special_Paste()  
   Selection.PasteSpecial Paste:=xlPasteValues  
End Sub  
 
Попробуйте так.{/post}{/quote}  
Эффект тот же.  
Пробовал вставить то, что нашел на форуме:  
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
:=False, Transpose:=False  
 
но не работает все равно. Может я что-то забыл сделать?  
 
P.S. Смотрел форум тут  
http://www.planetaexcel.ru/forum.php?thread_id=4269
 
{quote}{login=ocean}{date=05.05.2010 07:59}{thema=Как сделать так, чтобы CTRL + V вставлял лишь значения
MyExcelWorld One World One Dream!
Microsoft MVP Excel from 2012
Aydin Aliyev
 
{quote}{login=The_Prist}{date=05.05.2010 10:03}{thema=}{post}Вот это:  
 
Sub My_Special_Paste()  
ActiveCell.PasteSpecial xlPasteValues  
End Sub  
 
В обычный модуль, а не в модуль ЭтаКнига. Создаете модуль - вставляете в него. По приведенной ссылке описано как создать обычный модуль.{/post}{/quote}  
По приведенной ссылке нет такого понятия как "обычный модуль". Есть Модуль листа, модуль книги (ЭтаКнига, стандартный модуль, модуль пользовательской формы, модуль класса.
 
{quote}{login=Useful}{date=05.05.2010 10:07}{thema=Re: Как сделать так, чтобы CTRL + V вставлял лишь значения?}{post}{quote}{login=ocean}{date=05.05.2010 07:59}{thema=Как сделать так, чтобы CTRL + V вставлял лишь значения{/post}{/quote}  
Кнопку вывел, каждый раз её нажимать теперь ? :)  
Фразу Drag the marked icon here and after that use Alt then Ctrl+Tab finally press Enter не совсем понял
 
{quote}{login=The_Prist}{date=05.05.2010 10:14}{thema=}{post}Ну ведь можно догадаться, что стандартный и обычный это одно и то же?  :-)  
По полочкам: создаете стандартный модуль(Module), вставляете в него код:  
Sub My_Special_Paste()  
ActiveCell.PasteSpecial xlPasteValues  
End Sub{/post}{/quote}  
правой кнопкой на листе "Исходный текст"  
Вставил туда данный скрипт  
Реакции "0"  
:( Видимо все-таки туповат я )))
 
ocean, правой кнопкой по "ЭтаКнига" появиться меню.    
В нем выберите: "Insert",  
дальше: "Module".  
 
Ниже "ЭтаКнига" появиться:    
"Modules",  
в котором и будет модуль: "Module1"  
 
в него (Module1) вставте:  
 
Sub My_Special_Paste()  
ActiveCell.PasteSpecial xlPasteValues 'вставка значения  
End Sub  
 
и удалите предедущий код "My_Special_Paste" в "ЭтаКнига" или где он у Вас там еще есть...
 
{quote}{login=ТолькоУчусь}{date=05.05.2010 10:38}{thema=}{post}ocean, правой кнопкой по "ЭтаКнига" появиться меню.    
В нем выберите: "Insert",  
дальше: "Module".  
 
Ниже "ЭтаКнига" появиться:    
"Modules",  
в котором и будет модуль: "Module1"  
 
в него (Module1) вставте:  
 
Sub My_Special_Paste()  
ActiveCell.PasteSpecial xlPasteValues 'вставка значения  
End Sub  
 
и удалите предедущий код "My_Special_Paste" в "ЭтаКнига" или где он у Вас там еще есть...{/post}{/quote}  
Воткнул модуль, вписал вышесказанное. При запуске пишет Rintime Error 1004 и тот же текст где я говорил про ошибку.    
Пробовал просто воткнуть этот текст, пробовал потом еще в ЭтойКниге вписать    
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
Application.OnKey "^z"  
End Sub  
 
Private Sub Workbook_Open()  
Application.OnKey "^z", "My_Special_Paste"  
End Sub
 
{quote}{login=The_Prist}{date=05.05.2010 11:20}{thema=}{post}Вы хоть копируете перед тем как макрос выполнить? У Вас в буфере данные есть?{/post}{/quote}  
Нет, ну я может и тупой, но не настолько же )  
Единственное о чем могу подумать, что копирую в буфер из одного файла, а вставляю значения в другой. Может мне этот макрос прописать в обоих файлах?
 
{quote}{login=}{date=05.05.2010 11:25}{thema=Re: }{post}{quote}{login=The_Prist}{date=05.05.2010 11:20}{thema=}{post}Вы хоть копируете перед тем как макрос выполнить? У Вас в буфере данные есть?{/post}{/quote}  
Нет, ну я может и тупой, но не настолько же )  
Единственное о чем могу подумать, что копирую в буфер из одного файла, а вставляю значения в другой. Может мне этот макрос прописать в обоих файлах?{/post}{/quote}  
Так макрос запуск нажал, заработало. Теперь другая проблема. Я скопировал ячейки, вставил значения в другом месте нажатием CTRL+z. Однако когда я попытался скопировать другие ячейки и вставить в другом месте, он мне воткнул снова старые значения при чем на старое место.
Страницы: 1
Читают тему
Loading...