Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/"Вставить". Параметры по умолчанию. - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
"Вставить". Параметры по умолчанию.
Alex_ST Дата: Четверг, 21.02.2013, 11:57 | Сообщение № 21
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
В PERSONAL.XLS в модуле ЭтаКнига пропишите обработку событий:
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
     On Error Resume Next
     Application.OnKey "^q", "SPPASTE_PLUS"   'назначение горячих клавиш
End Sub

Private Sub Workbook_Open()
     On Error Resume Next
     Application.OnKey "^q"   ' сброс горячих клавиш в состояние по умолчанию
End Sub
[/vba]
Методу OnKey пофигу какая текущая раскладка и регистр. Он обрабатывает именно кнопку.
Поэтому макрос, так подвешенный на хоткеи, будет работать и на Q, и на q, и на Й, и на й

ВНИМАНИЕ! В коде допущена опечатка. Исправлено ЗДЕСЬ



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 21.02.2013, 16:59
 
Ответить
СообщениеВ PERSONAL.XLS в модуле ЭтаКнига пропишите обработку событий:
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
     On Error Resume Next
     Application.OnKey "^q", "SPPASTE_PLUS"   'назначение горячих клавиш
End Sub

Private Sub Workbook_Open()
     On Error Resume Next
     Application.OnKey "^q"   ' сброс горячих клавиш в состояние по умолчанию
End Sub
[/vba]
Методу OnKey пофигу какая текущая раскладка и регистр. Он обрабатывает именно кнопку.
Поэтому макрос, так подвешенный на хоткеи, будет работать и на Q, и на q, и на Й, и на й

ВНИМАНИЕ! В коде допущена опечатка. Исправлено ЗДЕСЬ

Автор - Alex_ST
Дата добавления - 21.02.2013 в 11:57
Alex_ST Дата: Четверг, 21.02.2013, 11:59 | Сообщение № 22
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (borus)
CRL+1

Вот как раз хоткей Ctrl+1 под что-то кроме функции по умолчанию, использовать в Excel'e я бы не стал. biggrin



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата (borus)
CRL+1

Вот как раз хоткей Ctrl+1 под что-то кроме функции по умолчанию, использовать в Excel'e я бы не стал. biggrin

Автор - Alex_ST
Дата добавления - 21.02.2013 в 11:59
borus Дата: Четверг, 21.02.2013, 12:18 | Сообщение № 23
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

2007
Странно, не работает подмена горячих клавиш.
Вот содержимое книги макросов (на кракозябры не обращайте внимания, реально там русские буквы):

[vba]
Код
Sub Вставка_значений()
' Ñî÷åòàíèå êëàâèø: Ctrl+q
On Error Resume Next
Selection.PasteSpecial Paste:=xlValues
If Err Then Err.Clear: ActiveSheet.PasteSpecial Paste:=xlValues
If Err Then Err.Clear: ActiveSheet.PasteSpecial Format:="Òåêñò", Link:=False, DisplayAsIcon:=False
If Err Then MsgBox "Îøèáêà " & Err.Number & vbCrLf & Err.Description & vbCrLf
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnKey "^q", "SPPASTE_PLUS" 'íàçíà÷åíèå ãîðÿ÷èõ êëàâèø
End Sub

Private Sub Workbook_Open()
On Error Resume Next
Application.OnKey "^q" ' ñáðîñ ãîðÿ÷èõ êëàâèø â ñîñòîÿíèå ïî óìîë÷àíèþ
End Sub
[/vba]


желаю вам счастья

Сообщение отредактировал borus - Четверг, 21.02.2013, 12:19
 
Ответить
СообщениеСтранно, не работает подмена горячих клавиш.
Вот содержимое книги макросов (на кракозябры не обращайте внимания, реально там русские буквы):

[vba]
Код
Sub Вставка_значений()
' Ñî÷åòàíèå êëàâèø: Ctrl+q
On Error Resume Next
Selection.PasteSpecial Paste:=xlValues
If Err Then Err.Clear: ActiveSheet.PasteSpecial Paste:=xlValues
If Err Then Err.Clear: ActiveSheet.PasteSpecial Format:="Òåêñò", Link:=False, DisplayAsIcon:=False
If Err Then MsgBox "Îøèáêà " & Err.Number & vbCrLf & Err.Description & vbCrLf
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnKey "^q", "SPPASTE_PLUS" 'íàçíà÷åíèå ãîðÿ÷èõ êëàâèø
End Sub

Private Sub Workbook_Open()
On Error Resume Next
Application.OnKey "^q" ' ñáðîñ ãîðÿ÷èõ êëàâèø â ñîñòîÿíèå ïî óìîë÷àíèþ
End Sub
[/vba]

Автор - borus
Дата добавления - 21.02.2013 в 12:18
Serge_007 Дата: Четверг, 21.02.2013, 12:26 | Сообщение № 24
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (borus)
на кракозябры не обращайте внимания

Перед вставкой на форум копируйте код из VBE в РУССКОЙ раскладке клавиатуры

И оформляйте коды соответствующими тегами!


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (borus)
на кракозябры не обращайте внимания

Перед вставкой на форум копируйте код из VBE в РУССКОЙ раскладке клавиатуры

И оформляйте коды соответствующими тегами!

Автор - Serge_007
Дата добавления - 21.02.2013 в 12:26
Alex_ST Дата: Четверг, 21.02.2013, 12:43 | Сообщение № 25
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Посмотрите топик "Борьба с "кракозябрами" в VISTA и Win-7" и забудете про эти баги мелко-мягких форточек



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПосмотрите топик "Борьба с "кракозябрами" в VISTA и Win-7" и забудете про эти баги мелко-мягких форточек

Автор - Alex_ST
Дата добавления - 21.02.2013 в 12:43
Alex_ST Дата: Четверг, 21.02.2013, 12:46 | Сообщение № 26
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (borus)
Вот содержимое книги макросов

Читайте внимательнее:
Цитата (Alex_ST)
в модуле ЭтаКнига пропишите обработку событий



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата (borus)
Вот содержимое книги макросов

Читайте внимательнее:
Цитата (Alex_ST)
в модуле ЭтаКнига пропишите обработку событий

Автор - Alex_ST
Дата добавления - 21.02.2013 в 12:46
borus Дата: Четверг, 21.02.2013, 15:39 | Сообщение № 27
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

2007
Цитата (Alex_ST)
в модуле ЭтаКнига пропишите обработку событий

вроде так и сделал:

не работает
К сообщению приложен файл: 7708684.jpg (46.0 Kb)


желаю вам счастья
 
Ответить
Сообщение
Цитата (Alex_ST)
в модуле ЭтаКнига пропишите обработку событий

вроде так и сделал:

не работает

Автор - borus
Дата добавления - 21.02.2013 в 15:39
Alex_ST Дата: Четверг, 21.02.2013, 16:57 | Сообщение № 28
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Ну, блин... Ну описАлся shy
Я в своём примере при открытии книги сбрасываю хоткеи, а при закрытии - задаю biggrin
Неужели так трудно было самому очепятку заметить и исправить? Тем более, что я даже комментарии написал smile
Ну, если Вам трудно самому исправить, то я сделаю:[vba]
Код
Private Sub Workbook_Open()
     On Error Resume Next
     Application.OnKey "^q", "SPPASTE_PLUS"   'назначение горячих клавиш
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
     On Error Resume Next
     Application.OnKey "^q"   ' сброс горячих клавиш в состояние по умолчанию
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 22.02.2013, 08:39
 
Ответить
СообщениеНу, блин... Ну описАлся shy
Я в своём примере при открытии книги сбрасываю хоткеи, а при закрытии - задаю biggrin
Неужели так трудно было самому очепятку заметить и исправить? Тем более, что я даже комментарии написал smile
Ну, если Вам трудно самому исправить, то я сделаю:[vba]
Код
Private Sub Workbook_Open()
     On Error Resume Next
     Application.OnKey "^q", "SPPASTE_PLUS"   'назначение горячих клавиш
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
     On Error Resume Next
     Application.OnKey "^q"   ' сброс горячих клавиш в состояние по умолчанию
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 21.02.2013 в 16:57
borus Дата: Пятница, 22.02.2013, 09:47 | Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

2007
[admin]Цитата удалена. Зачем вообще Вы её сделали?[/admin]
Благодарю. Я в этих буквах почти ничего не понимаю smile
Новая ошибка:
К сообщению приложен файл: 2919179.jpg (9.3 Kb)


желаю вам счастья

Сообщение отредактировал borus - Пятница, 22.02.2013, 09:49
 
Ответить
Сообщение[admin]Цитата удалена. Зачем вообще Вы её сделали?[/admin]
Благодарю. Я в этих буквах почти ничего не понимаю smile
Новая ошибка:

Автор - borus
Дата добавления - 22.02.2013 в 09:47
Alex_ST Дата: Пятница, 22.02.2013, 10:07 | Сообщение № 30
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
borus,
Вас, что, ещё за одно и макросы к кнопкам прицеплять поучить ?
А может быть за одно и курс обучения VBA провести?
Да тут и без знания основ VBA достаточно знания русского языка чтобы прочесть комментарии и английского в пределах младших классов школы (а есть в конце-концов и интернет-переводчики, для тех, кто совсем его не знает), чтобы понять, что Workbook_Open - процедура обработки события, возникающего при открытии рабочей книги, а Workbook_BeforeClose - перед её закрытием.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 22.02.2013, 10:08
 
Ответить
Сообщениеborus,
Вас, что, ещё за одно и макросы к кнопкам прицеплять поучить ?
А может быть за одно и курс обучения VBA провести?
Да тут и без знания основ VBA достаточно знания русского языка чтобы прочесть комментарии и английского в пределах младших классов школы (а есть в конце-концов и интернет-переводчики, для тех, кто совсем его не знает), чтобы понять, что Workbook_Open - процедура обработки события, возникающего при открытии рабочей книги, а Workbook_BeforeClose - перед её закрытием.

Автор - Alex_ST
Дата добавления - 22.02.2013 в 10:07
borus Дата: Пятница, 22.02.2013, 15:49 | Сообщение № 31
Группа: Пользователи
Ранг: Новичок
Сообщений: 43
Репутация: 0 ±
Замечаний: 0% ±

2007
Цитата (Alex_ST)
Вас, что, ещё за одно и макросы к кнопкам прицеплять поучить ?

Оказывается надо было переименовать макрос, подставив значение SPPASTE_PLUS
Благодарю


желаю вам счастья

Сообщение отредактировал borus - Пятница, 22.02.2013, 15:51
 
Ответить
Сообщение
Цитата (Alex_ST)
Вас, что, ещё за одно и макросы к кнопкам прицеплять поучить ?

Оказывается надо было переименовать макрос, подставив значение SPPASTE_PLUS
Благодарю

Автор - borus
Дата добавления - 22.02.2013 в 15:49
lopuxi Дата: Среда, 10.02.2016, 11:51 | Сообщение № 32
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
Sub SPPASTE_PLUS()   '  "Специальная вставка"
On Error Resume Next
Selection.PasteSpecial Paste:=xlValues
If Err Then Err.Clear: ActiveSheet.PasteSpecial Paste:=xlValues
If Err Then Err.Clear: ActiveSheet.PasteSpecial Format:="Текст", Link:=False, DisplayAsIcon:=False
If Err Then MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description
End Sub


очень классная штука. Мне как раз сейчас такая нужна.
Делать вставку / замену, таблицы на защищенный листе, через кнопку на листе.

Только вот на чем я споткнулся. Перед вставкой я чищу область
[vba]
Код

Range(Cells(1, 1), Cells(NumRow, NumCol)).ClearContents
Cells(1, 1).Select   
    On Error Resume Next
    Selection.PasteSpecial Paste:=xlValues ' вставляем как значение
    If Err Then Err.Clear: ActiveSheet.PasteSpecial Paste:=xlValues
    If Err Then Err.Clear: ActiveSheet.PasteSpecial Format:="Текст", Link:=False, DisplayAsIcon:=False
    If Err Then MsgBox "Ошибка: " & Err.Number & vbCrLf & Err.Description

[/vba]

В результате буфер обмена похоже тоже чистится и тогда макрос ругается. А мне бы хотелось почистить область и сразу осуществить вставку.
Возможно ли это как-то реализовать?


О_о ...и так можно было?

Сообщение отредактировал lopuxi - Среда, 10.02.2016, 11:51
 
Ответить
Сообщение
Sub SPPASTE_PLUS()   '  "Специальная вставка"
On Error Resume Next
Selection.PasteSpecial Paste:=xlValues
If Err Then Err.Clear: ActiveSheet.PasteSpecial Paste:=xlValues
If Err Then Err.Clear: ActiveSheet.PasteSpecial Format:="Текст", Link:=False, DisplayAsIcon:=False
If Err Then MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description
End Sub


очень классная штука. Мне как раз сейчас такая нужна.
Делать вставку / замену, таблицы на защищенный листе, через кнопку на листе.

Только вот на чем я споткнулся. Перед вставкой я чищу область
[vba]
Код

Range(Cells(1, 1), Cells(NumRow, NumCol)).ClearContents
Cells(1, 1).Select   
    On Error Resume Next
    Selection.PasteSpecial Paste:=xlValues ' вставляем как значение
    If Err Then Err.Clear: ActiveSheet.PasteSpecial Paste:=xlValues
    If Err Then Err.Clear: ActiveSheet.PasteSpecial Format:="Текст", Link:=False, DisplayAsIcon:=False
    If Err Then MsgBox "Ошибка: " & Err.Number & vbCrLf & Err.Description

[/vba]

В результате буфер обмена похоже тоже чистится и тогда макрос ругается. А мне бы хотелось почистить область и сразу осуществить вставку.
Возможно ли это как-то реализовать?

Автор - lopuxi
Дата добавления - 10.02.2016 в 11:51
Alex_ST Дата: Среда, 10.02.2016, 21:35 | Сообщение № 33
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
При очистке диапазона буфер обмена чистится всегда. Этого не избежать.
Единственное, что могу на вскидку посоветовать - это перед очисткой сначала сохранять где-нибудь содержимое буфера (например, на листе книги Personal.xls, а то чего он без дела болтается :) ), а потом после очистки диапазона на текущем листе опять копировать из этого скрытого листа и спец-пастить куда нужно.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПри очистке диапазона буфер обмена чистится всегда. Этого не избежать.
Единственное, что могу на вскидку посоветовать - это перед очисткой сначала сохранять где-нибудь содержимое буфера (например, на листе книги Personal.xls, а то чего он без дела болтается :) ), а потом после очистки диапазона на текущем листе опять копировать из этого скрытого листа и спец-пастить куда нужно.

Автор - Alex_ST
Дата добавления - 10.02.2016 в 21:35
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!