Excel нажата левая клавиша мыши

WeRiX Дата: Пятница, 14.11.2014, 17:20 | Сообщение № 3
Fenror Дата: Пятница, 14.11.2014, 18:02 | Сообщение № 4
krosav4ig Дата: Пятница, 14.11.2014, 23:12 | Сообщение № 5
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Ответить

krosav4ig Дата: Суббота, 15.11.2014, 03:41 | Сообщение № 6
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Ответить

Fenror Дата: Понедельник, 01.12.2014, 03:17 | Сообщение № 7
WeRiX Дата: Понедельник, 01.12.2014, 17:56 | Сообщение № 8
Fenror Дата: Вторник, 02.12.2014, 12:29 | Сообщение № 9
Rioran Дата: Среда, 29.07.2015, 15:18 | Сообщение № 10

Не очень хорошо разбираюсь, но хочу. Подскажи, чем твоё решение в 5-м посте надёжнее предложенного WeRiX в 3-м?

Как я вижу, WeRiX применил стандартный подход из Au3, когда события отслеживаются в цикле «Do» до наступления конкретных условий. И, перед новым витком — Sleep 30, бездействие на 30 миллисекунд. Я помню, что в Au3 данный подход снижает нагрузку на процессор, уменьшая количество обращений к нему в секунду. А у тебя цикл идёт сплошняком, вроде как без «передышек».

Не очень хорошо разбираюсь, но хочу. Подскажи, чем твоё решение в 5-м посте надёжнее предложенного WeRiX в 3-м?

Как я вижу, WeRiX применил стандартный подход из Au3, когда события отслеживаются в цикле «Do» до наступления конкретных условий. И, перед новым витком — Sleep 30, бездействие на 30 миллисекунд. Я помню, что в Au3 данный подход снижает нагрузку на процессор, уменьшая количество обращений к нему в секунду. А у тебя цикл идёт сплошняком, вроде как без «передышек». Rioran

Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

Ответить

Сообщение krosav4ig, привет!

Не очень хорошо разбираюсь, но хочу. Подскажи, чем твоё решение в 5-м посте надёжнее предложенного WeRiX в 3-м?

Как я вижу, WeRiX применил стандартный подход из Au3, когда события отслеживаются в цикле «Do» до наступления конкретных условий. И, перед новым витком — Sleep 30, бездействие на 30 миллисекунд. Я помню, что в Au3 данный подход снижает нагрузку на процессор, уменьшая количество обращений к нему в секунду. А у тебя цикл идёт сплошняком, вроде как без «передышек». Автор — Rioran
Дата добавления — 29.07.2015 в 15:18

AndreTM Дата: Среда, 29.07.2015, 17:58 | Сообщение № 11
Skype: andre.tm.007
Donate: Q iwi: 9517375010

Ответить

krosav4ig Дата: Среда, 29.07.2015, 19:54 | Сообщение № 12

email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Rioran Дата: Четверг, 30.07.2015, 09:46 | Сообщение № 13

AndreTM, идея в том, что цикл «Do» в VBА всегда крутится на максимально возможной для текущего аппарата скорости. И в 12-м посте krosav4ig подтверждает мои опасения о загрузке процессора. А задержку от одной проверки, имхо, надо бы ещё как-то отследить. Вряд ли её влияние существенно.

krosav4ig, спасибо, любопытно. А расскажи ещё по константе, как ты её используешь? Я нашёл в Win32API справочнике:

AndreTM, идея в том, что цикл «Do» в VBА всегда крутится на максимально возможной для текущего аппарата скорости. И в 12-м посте krosav4ig подтверждает мои опасения о загрузке процессора. А задержку от одной проверки, имхо, надо бы ещё как-то отследить. Вряд ли её влияние существенно.

krosav4ig, спасибо, любопытно. А расскажи ещё по константе, как ты её используешь? Я нашёл в Win32API справочнике:

Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

Ответить

Сообщение AndreTM, идея в том, что цикл «Do» в VBА всегда крутится на максимально возможной для текущего аппарата скорости. И в 12-м посте krosav4ig подтверждает мои опасения о загрузке процессора. А задержку от одной проверки, имхо, надо бы ещё как-то отследить. Вряд ли её влияние существенно.

krosav4ig, спасибо, любопытно. А расскажи ещё по константе, как ты её используешь? Я нашёл в Win32API справочнике:

AndreTM Дата: Четверг, 30.07.2015, 15:56 | Сообщение № 14

Rioran, да, согласен, что sleep имеет смысл использовать. Расслабился я тут со скриптовыми языками.

Всё остальное — в материалах по GetAsyncKeyState() хорошо расписано.
Функция в качестве параметра может получать один из 256 кодов «виртуальных клавиш» для проверки их состояния (MSDN). При этом физические кнопки мышки там тоже присутствуют, и 1 = VK_LBUTTON = левая клавиша мышки (независимо от системных настроек).
Возвращаемое значение — 16-битный набор флагов состояния, при этом «нажата в данный момент» устанавливается в старшем бите, а «была нажата после предыдущего вызова функции» — в младшем. Поскольку среда многозадачна, на «была нажата» ориентироваться нельзя (вызвать функцию за этот промежуток могло и другое приложение), поэтому приходится ориентироваться именно на конкретное текущее состояние в момент конкретного данного вызова, то есть на состояние старшего бита. Поэтому &H8000 = 1000 0000 0000 0000 = маска для вырезания старшего бита.

Rioran, да, согласен, что sleep имеет смысл использовать. Расслабился я тут со скриптовыми языками.

Всё остальное — в материалах по GetAsyncKeyState() хорошо расписано.
Функция в качестве параметра может получать один из 256 кодов «виртуальных клавиш» для проверки их состояния (MSDN). При этом физические кнопки мышки там тоже присутствуют, и 1 = VK_LBUTTON = левая клавиша мышки (независимо от системных настроек).
Возвращаемое значение — 16-битный набор флагов состояния, при этом «нажата в данный момент» устанавливается в старшем бите, а «была нажата после предыдущего вызова функции» — в младшем. Поскольку среда многозадачна, на «была нажата» ориентироваться нельзя (вызвать функцию за этот промежуток могло и другое приложение), поэтому приходится ориентироваться именно на конкретное текущее состояние в момент конкретного данного вызова, то есть на состояние старшего бита. Поэтому &H8000 = 1000 0000 0000 0000 = маска для вырезания старшего бита. AndreTM

Skype: andre.tm.007
Donate: Q iwi: 9517375010

Ответить

Сообщение Rioran, да, согласен, что sleep имеет смысл использовать. Расслабился я тут со скриптовыми языками.

Всё остальное — в материалах по GetAsyncKeyState() хорошо расписано.
Функция в качестве параметра может получать один из 256 кодов «виртуальных клавиш» для проверки их состояния (MSDN). При этом физические кнопки мышки там тоже присутствуют, и 1 = VK_LBUTTON = левая клавиша мышки (независимо от системных настроек).
Возвращаемое значение — 16-битный набор флагов состояния, при этом «нажата в данный момент» устанавливается в старшем бите, а «была нажата после предыдущего вызова функции» — в младшем. Поскольку среда многозадачна, на «была нажата» ориентироваться нельзя (вызвать функцию за этот промежуток могло и другое приложение), поэтому приходится ориентироваться именно на конкретное текущее состояние в момент конкретного данного вызова, то есть на состояние старшего бита. Поэтому &H8000 = 1000 0000 0000 0000 = маска для вырезания старшего бита. Автор — AndreTM
Дата добавления — 30.07.2015 в 15:56

Источник

Adblock
detector

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

Здравствуйте!
Мне необходимо в макросе отловить событие щелчка по ячейке левой кнопкой мыши. Подскажите, пожалуйста, как оно описывается в VBA. По поиску не смог ничего найти.
Спасибо!

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Сработает Worksheet_SelectionChange, но это событие сработает и в том случае, если активируем ячейку каким-либо другим способом.

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

Юрий М,
Спасибо Вам за помощь, но есть нюанс. Мне не хотелось бы что бы событие отрабатывало на выделение ячейки при помощи клавиш клавиатуры, как Вы справедливо заметили, а срабатывало только при нажатии ЛКМ на ячейке.

Изменено: iba200413.06.2013 10:04:23

 

ber$erk

Пользователь

Сообщений: 2735
Регистрация: 25.12.2012

#4

13.06.2013 10:14:29

А как такой вариант:
в момент Worksheet_SelectionChange смотреть где находится курсор мыши.

Код
Private Type POINTAPI 
    X As Long 
    Y As Long 
End Type 

Private Declare Function GetCursorPos _ 
        Lib "user32.dll" (lpPoint As POINTAPI) As Long 

Private Sub GetRangeFromPoint() 
    Dim iPOINT As POINTAPI, iCell As Range 

    GetCursorPos iPOINT 

    Set iCell = ActiveWindow.RangeFromPoint(X:=iPOINT.X, Y:=iPOINT.Y) 

    If Not iCell Is Nothing Then 
       MsgBox "Курсор мышки находится над " & _ 
       iCell.Address(External:=True), vbExclamation, "" 
    Else 
       MsgBox "Курсор мышки находится вне ячеек рабочего листа", , "" 
    End If 
End Sub

ссыль

и если там где надо, то обрабатывать событие

Учимся сами и помогаем другим…

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

ber$erk,
Простите, если я правильно понял, то описание диапазона в котором должно срабатывать (как у меня сейчас) выделение ячейки по Worksheet_SelectionChange(ByVal Target As Range) у меня описано при помощи If Not Intersect … Is Nothing. А вот то, каким образом мы вошли в этот диапазон: клавишами или ЛКМ я не могу отловить. Или я не о том?
Спасибо Вам за помощь.
Вот нашёл событие Worksheet_BeforeRightClick.
Попробую с ним поковыряться.  :)

Изменено: iba200413.06.2013 10:28:18

 

ber$erk

Пользователь

Сообщений: 2735
Регистрация: 25.12.2012

вот что я хотел сказать

Прикрепленные файлы

  • мышка.xlsm (15.97 КБ)

Учимся сами и помогаем другим…

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#7

13.06.2013 10:32:25

Цитата
iba2004 пишет:
Вот нашёл событие   Worksheet_BeforeRightClick  .

Там ещё есть ДаблКлик ))

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

Юрий М,
Да, Вы правы! LeftClick и RightClick различаются. То, что работает по ПКМ, по ЛКМ не хочет.  :)

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

ber$erk,
ЗдОрово! Простите, что сразу Вас не понял, не хватило знаний. На первый взгляд, действительно то, что мне нужно. Спасибо Вам за помощь.
Всех участников топика тоже хочу поблагодарить за помощь.
Спасибо!

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

Кажется, сообразил: событие наступает тогда, когда координаты активной ячейки будут совпадать с координатами курсора мыши. Сбои, конечно, возможны, но их процент очень невелик. Спасибо! Но появилась проблема: как в IF описать, что это событие произошло НЕ при помощи нажатия ПКМ, потому как на ПКМ тоже срабатывает? Или необходимо открыть новую тему?
Спасибо!

 

ber$erk

Пользователь

Сообщений: 2735
Регистрация: 25.12.2012

На это событие повесить «метку», которая будет говорить, что отрабатывать не надо.

Учимся сами и помогаем другим…

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

ber$erk,
У меня на этот счёт есть только одна идея. Макрос Worksheet_BeforeRightClick проставляет в одну из ячеек листа, например, 1 и далее при работе Worksheet_SelectionChange мониторить эту ячейку на предмет наличия в ней 1: если она есть, то событие ПКМ было, если нет – то не было. В том случае, если ход моих мыслей верен и эту проблему нельзя решить по-другому, подскажите, пжл, как можно при нажатии ПКМ и, как следствие, изменении выделенных ячеек, запустить первым для обработки макрос Worksheet_BeforeRightClick, а только затем исполнение Worksheet_SelectionChange? Или это «кривой» путь? Я не могу сообразить как на это событие повесить метку по-другому.
Спасибо!

Изменено: iba200413.06.2013 18:58:48

 

ber$erk

Пользователь

Сообщений: 2735
Регистрация: 25.12.2012

Именно про такой путь я и думал. Оказывается последовательность этих событий не подходит под решение задачи  :(  надо думать дальше

Учимся сами и помогаем другим…

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#14

13.06.2013 19:26:51

Цитата
iba2004 пишет:
запустить первым для обработки макрос Worksheet_BeforeRightClick, а только затем исполнение Worksheet_SelectionChange

Событие SelectionChange наступит раньше. А что Вы к нему «привязались»? Используйте просто ДаблКлик, например.

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

Юрий М,
Я правильно Вас понял: вместо SelectionChange использовать DoubleClick?

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Ну да! Кликнули дважды по ячейке — наступило событие и выполняются какие-то действия. А если активировали эту ячейку с клавиатуры — ничего не произойдёт. Только перед выходом из процедуры не забудьте написать Cancel = True (отменим режим редактирования в который попадаем при даблклике). Можно и событие правый клик использовать без всякой привязки к SelectionChange.

 

iba2004

Пользователь

Сообщений: 1034
Регистрация: 22.12.2012

#17

13.06.2013 20:25:03

Юрий М,
Спасибо! Попробую реализовать.

Помогаю со студенческими работами здесь

Не работает левая кнопка мыши A4tech x766fs
На днях купил мышь, абсолютно новая, сёдня подключил, установил драйвера как указано в инструкции,…

Проверка, зажата ли левая кнопка мыши работает не везде
Возможно ли такое, что в некоторых сторонних программах проверка подобным образом не работает?…

Западает левая кнопка мыши
Всем доброе время суток.
Несколько дней назад столкнулся с описанной ситуацией. Левая кнопка то…

Нажата ли левая кнопка мыши
День добрый!
Мне нужна функция,которая может определить зажата ли в данную секунду левая кнопка…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

2

Копирование диапазонов ячеек с помощью курсора мышки

На данном уроке подробнее рассмотрим возможности и преимущества копирования или перемещения данных с помощью перемещения курсора мышки.

Главное преимущество использования указателя мышки для копирования – это возможность быстро и удобно скопировать или переместить значения ячеек. Недостатком же являются ограниченные возможности. Например, таким способом нельзя скопировать несмежные диапазоны.

Качество результата копирования / перемещения данных путем смещения курсора ни чем не отличается от других стандартных методов. В процессе перемещаются как значения, так и форматы с примечанием ячеек.

Практические примеры копирования с перемещением курсора

Самый простой способ оценить преимущества данного метода – это применить его в практике. Выполните 3 практических задания со смещением курсора мышки для копирования данных выделенных диапазонов. А также ознакомьтесь, как работает перемещение с нажатой клавишей CTRL или SHIFT при вставке данных в ячейки листа Excel.

Простое перемещение диапазона ячеек

Проверим, что будет, если попробуем просто сместить курсором выделенный диапазон.

Внимание! Все перемещения осуществляются путем наведения указателя на рамку выделенных диапазонов и удержанием левой клавиши мышки в процессе копии.

Задание 1. Выделите диапазон ячеек и наведите курсор мышки на рамку, чтобы появился крестик из стрелочек как показано на рисунке:

Указатель с крестиком стрелочек.

Теперь удерживайте левую клавишу мышки и перетяните выделенный диапазон влево на позицию C2:C3. После чего отпустите клавишу.

Перемещение с перетаскиванием указателя.

Как только появится сообщение: «Заменить содержимое конечных ячеек?», нажмите ОК.

Таким образом, переместились (но не скопировались) данные из диапазона D2:D3 в диапазон C2:C3.



Копирование диапазона с помощью перемещения курсора

Теперь попрактикуем метод «потяни и отпусти» для копирования ячеек.

Задание 2. Выделите столбец B. Ухватите мышкой за край выделенного диапазона B:B. Нажмите на удержания левую клавишу мышки и клавишу CTRL. Возле курсора появился маленький знак «+». Теперь перетяните диапазон в столбец F, удерживая клавиши. Отпустите сначала левую клавишу, а только потом CTRL.

Копирование с перетаскиванием указателя.

Вы успешно скопировали целый столбец. Таким же самым способом можно копировать и диапазон (за исключением несмежных диапазонов, так как они при выделении не имеют рамки).

Перемещение со смещением данных

Попрактикуйте перемещение выделенного диапазона мышкой с нажатой клавишей SHIFT. Данная комбинация позволяет переместить ячейки и одновременно сместить заполненные другие ячейки, чтобы освободить место для вставки данных. Это очень удобная функция в Excel, которая позволяет существенно экономить время в процессе работы с программой.

Ячейки смещаются как по вертикали, так и по горизонтали.

Задание 3. Нам нужно поменять местами в таблице имена с фамилиями:

  1. Выделяем столбец с именами А.
  2. Берем курсором за рамку выделенного диапазона и нажимаем клавишу SHIFT.
  3. Теперь перемещаем столбец так, чтобы он расположился между столбцами B и C.
  4. Сначала отпускаем левую клавишу мыши, а потом клавишу SHIFT.

Перемещение с клавишей SHIFT.

Теперь поменяем местами 2 диапазона ячеек по вертикали. Выделяем ячейки C4:D4. Курсором хватаем за край рамки и с нажатыми клавишами SHIFT+левая клавиша мышки перемещаем диапазон на C3:D3.

Перестановка значений с клавишей SHIFT.

Как видите, данные поменялись местами. А пользователю не пришлось освобождать место для вставки новых значений и делать для этого множество операций.

Не можете понять, почему у вас в Excel не работает правая кнопка мыши? В чем может быть причина?

  1. Срабатывает макрос, вызывающий блокировку вызова контекстного меню;
  2. Глюк связан с некорректным выходом из предыдущего документа Excel;
  3. Общий сбой со стороны работы программы;
  4. Сломаны мышь или клавиатура;
  5. «Шалит» операционная система;
  6. Вирусы на компе;
  7. Произошел конфликт с подключенным принтером.

Главное предназначение данной клавиши — вызов контекстного меню с основными командами: «Вставить», «Копировать», «Формат ячеек», «Гиперссылка» и т.д. Понятное дело, если правая кнопка мыши не работает, «каши вы не сварите» ни в Эксель, ни в любой другой программе.

Почему мы упомянули другие утилиты? Потому что часть причин, из-за которых мышь не работает, с Excel связана, другая же – нет. Как узнать, глобальная случилась проблема или локальная? Очень просто: сверните лист книги и щелкните правой кнопкой мыши по рабочему столу. Контекстное меню появилось? Значит объяснение стоит искать в Excel. Реакции нет? Проверяйте операционную систему или подключенные устройства.

А давайте подробно разберем, почему в Экселе может не работать правая кнопка мыши, а также выясним, как решить проблему? Начнем с ситуаций, когда контекстное меню заблокировано только в указанной программе.

Работает макрос, запрещающий вызов контекстного меню

Макрос — это специальный код (мини-программа), написанный на языке, понятном Excel. Он предназначен для выполнения каких-то определенных, чаще всего повторяющихся, действий. Таких макросов можно создавать сколько угодно, вы даже можете объединить их в свою личную книгу, задав для активации каждой команды определенную комбинацию клавиш.

Макросы в Excel пользуются большой популярностью, поскольку позволяют здорово оптимизировать работу. Однако, иногда они преподносят «сюрпризы». Пример – наша ситуация, когда в Эксель, внезапно и без причины, не работает правая мышь.

Если объяснить, что произошло, максимально просто, вы открыли чей-то документ, где работает макрос, отключающий вызов контекстного меню. Или сами, по неосторожности и незнанию, где-то его применили.

Макрос, блокирующий вызов контекстного меню – самая популярная причина рассматриваемого в статье сбоя. Что можно сделать?

Если правая кнопка мыши перестала работать вот прям только что, вспоминайте, в какой очередности открывали файлы, листы и книги. Далее, действуйте в обратном порядке. Пройдитесь по всем документам, по всем модулям. Везде проверяйте функциональность клавиши. У вас есть реальная возможность отыскать файл Excel, в котором стоит макрос, изменяющий работу программы (блокирующий правую кнопку). Возможно, когда вы вышли из этого файла, случился глюк, и система не вернула настройки на место или применила их ко всем книгам. Как только найдете «нулевого пациента», отключите данный код. Где его искать?

  • Откройте вкладку «Вид» и найдите крайний правый подраздел (вверху), который так и называется: «Макросы»;
  • Щелкните, выберите пункт «Макросы»;

  • Разыщите в списке незнакомые или новые;
  • Выделите и выберите справа клавишу «Удалить»;
  • Или в нижней части окошка кликните по выпадающей вкладке и вместо значения «Все открытые книги» выберите «Эта книга». Теперь данный макрос работает только в настоящем документе.
  • Иногда разыскать в уйме поступивших файлов лагающий скрипт невозможно. Или слишком долго. Особенно, если они поступают от разных источников (например, много людей постоянно сдают вам работу в Excel документах). Поэтому, поступите проще: просто отключите этот макрос во всех книгах Excel, выбрав в выпадающем списке значение «Все открытые книги».

А можно вообще ничего не искать и не удалять. Просто забейте в систему код, который отменит блокировку запрета вызова контекстного меню комплексно. Не переживайте, код уже за вас создали, остается только вставить его в нужное поле. Вот инструкция:

  • Откройте Excel и нажмите «Alt+F11» (на некоторых ноутбуках +FN);
  • Откроется Visual Basic for Application (VBA-редактор);
  • Выделите лист командой клавиш «Ctrl+R» и пройдите по пути Insert – Module;
  • В окно редактора вставьте код:
    Sub Reset_All_Bars()
    Dim cmbComBar As CommandBar
    On Error Resume Next
    For Each cmbComBar In CommandBars
    cmbComBar.Reset: cmbComBar.Enabled = True’: cmbComBar.Visible = True
    Next cmbComBar
    End Sub
  • Чтобы его активировать, нажмите кнопку F5;
  • Готово, закрывайте редактор и проверяйте, работает ли теперь правая кнопка мыши в Эксель.

Неправильный выход из приложения

Если предыдущая сессия в программе была завершена некорректно, например, ноутбук разрядился в ноль и «отрубился», или комп выдернули из розетки, вполне возможно сейчас правая кнопка в Эксель не работает именно из-за этого.

Попробуйте закрыть эту книгу и все остальные открытые Excel документы. Теперь желательно перезагрузить компьютер. Вновь запускать программу лучше с нового, созданного только что, файла.

Сбой в работе Excel

Скорее всего в данном случае работать откажется не только правая кнопка, но и другие стандартные функции и команды. Если программа «гонит» без явной причины, будьте готовы к необходимости полной переустановки всех компонентов Office. Также нужно будет выполнить очистку реестра.

Поломка оборудования

Не думали, что правая кнопка мыши в вашем Экселе не работает потому, что сломалась мышь? Клавиша может залипать, внутри мог отойти контакт, или плата отсырела. Вспомните, с устройством в последнее время ничего не случалось? Словом, попробуйте подключить другую мышь, проверьте, работает ли вызов контекстных команд.

Также, проблема может быть связана с клавиатурой. Причем тут клава? Возможно на ней зажаты какие-то клавиши-модификаторы (Ctrl, Alt, Fn, Caps Lock и т.д.), которые и блокируют одновременную работу правой кнопки.

Залипание кнопок клавиатуры явление нередкое, особенно, если устройство — уже видавшее виды и солидно пожившее. Внутри скопилась пыль, грязь, кнопки, банально, износились.

Попробуйте временно отсоединить клавиатуру или выключить (если на ней есть клавиша отключения) и проверьте, будет ли работать мышь.

«Шалит» операционная система

Переустановка Винды – неизбежно необходимая периодически мера. Задуматься о ее целесообразности позволят не только проблемы с Excel, но и другие «звоночки». Например, участившиеся явления «синего экрана», общая заторможенность компа, долгие загрузки документов, правая кнопка не работает, причем, не только в Excel и т.д.

Вирусы

Тут все банально просто: запустите на компе глобальную проверку на вирусы. Скорее всего кнопка не работает не поэтому, но вреда сие действо точно не принесет.

Конфликт с подключенным принтером

Еще, правая кнопка мыши в Excel 2016 может не работать из-за неправильной настройки параметров конфигурации принтера.

  • Зайдите в проводник (Пуск) и выберите раздел «Устройства и принтеры»;
  • Правой кнопкой мыши выберите «Microsoft XPS Document Writer»;
  • Установите значение «Использовать по умолчанию»;
  • Готово.

Все причины, из-за которых могла перестать работать правая кнопка, в статье перечислены в порядке частоты встречаемости. Последние три варианта – самые редкие, а потому, рекомендуем начать с первых по списку.

Отличного Вам дня!

Понравилась статья? Поделить с друзьями:
  • Excel надстрочный текст горячие клавиши
  • Excel надстрочный подстрочный шрифт
  • Excel надстройки не активны
  • Excel надстройка склонение по падежам
  • Excel надстройка с кодом