Почему не работает правая кнопка мыши в excel

Не можете понять, почему у вас в 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

А теперь про неработающую правую кнопку мыши.

1) Открываем Excel и нажимаем Alt+F11, чтобы открыть VBA-редактор.

2) Нажимаем Ctrl+R, чтобы выделить лист, и в верхнем меню выбираем Insert >> Module

3) В открывшееся окно редактора вставить код:

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

4) Нажимаем F5 для запуска кода.

VBA-редактор

5) Закрываем редактор и проверяем, что в Excel заработала правая кнопка мыши, и открывается контекстное меню.

If the mouse right-click is not working in Excel, you can use the solutions provided in this article. The right-click context menu is used for various functions, including copying and pasting data, locking and unlocking the cells or sheets, inserting and formatting cells, creating hyperlinks, etc. When the mouse right-click stops working in Excel, it creates problems for users because it affects their productivity.

Mouse right click is not working in Excel

Why can’t I right-click in Excel?

If the right-click is not working in Excel, there might be some add-in(s) responsible for the problem. You can check this by opening Excel in Safe Mode. In addition to this, the XLB file of Excel might have been corrupted. The XLB file contains Excel settings and configurations. Corruption in this file causes problems.

Usually, when the mouse right-click does not work on Windows, you can try fixes, like updating or reinstalling the mouse drivers, Checking add-ins,  running the hardware and Devices Troubleshooter, restarting Windows Explorer, repairing system image files, etc. But here, it is an Excel-specific issue. Hence, you have to use some additional fixes to resolve the problem. The following solutions will surely help you if your mouse right-click is not working in Excel.

update office

First, close Excel and restart your computer. Now, open Microsoft Excel and see if the problem persists. In some cases, restarting the computer fixes most issues. We also suggest you check for Office updates manually. Install the updates (if available). If this does not work, proceed ahead and use the following fixes.

  1. Move the XLB file to another location
  2. Open Excel in Safe Mode
  3. Run a VBA script in Excel
  4. Troubleshoot in a Clean Boot state
  5. Delete the Options folder from the Registry
  6. Repair Office

Let’s see all these fixes in detail.

1] Move the XLB file to another location

XLB is an Excel file that stores Excel settings and other configuration information. This file is located on your C drive, provided Microsoft Office is installed on that drive. If the configuration of Excel gets corrupted, you may experience several issues in Excel like one. A solution to such types of Excel problems is to delete the XLB file.

Move XLB file to another location

Deleting the XLB file is completely safe. Also, you will not lose your data and other information in Excel after performing this action. When you delete this file, Excel will recreate it when you open Excel. However, we recommend you move this file to another location instead of deleting it so that you can recover it again if any problem occurs.

Go to the path mentioned below:

C:UsersUsernameAppDataRoamingMicrosoftExcel

In the above path, replace the Username with your user name. After reaching the above path, you will see the XLB file there. The easiest way to go to the above path is via the Run command. Open the Run command box by pressing the Win + R keys and type the following command. After that, hit Enter.

%appdata%MicrosoftExcel

The above command will directly take you to the location where the XLB file is located. Now, move the XLB file from there to another location by using the Cut and Paste method.

2] Open Excel in Safe Mode

Moving the XLB file to another location fixes the issue in most cases. But if the above fix does not work, the cause of the problem might be an installed add-in. Microsoft Office applications provide users with the facility to install additional add-ins to make their work easier. Sometimes, these add-ins cause problems with Office applications. This might be the case with you. To check this, close Excel and launch it in Safe Mode.

If the problem disappears in Safe Mode, this means that the issue is occurring due to an add-in. In this case, you have to identify the problematic add-in. To do so, exit Excel Safe Mode and open it in normal mode. Now, start disabling the add-ins one by one and check the status of the issue after you disable each add-in. This process will take time but you will be able to identify the problematic add-in in Excel. Once you find the problematic add-in, remove it and find its alternative.

Disable Add-ins in Microsoft Office

The following steps will guide you on how to disable add-in in Excel.

  1. Open Excel.
  2. Create a blank document or open an existing one.
  3. Go to “File > Options.”
  4. Select Add-Ins from the left side.
  5. Select COM Add-ins in the Manage drop-down on the right side.
  6. Click Go.
  7. Uncheck the add-in that you want to disable and click OK.

3] Run a VBA script in Excel

If the right-click is still not working in Excel, run a VBA script in Excel. This method has fixed the issue of many users. Hence, you should also try this. To do so, the Developer tab must be enabled in Excel. If you do not see the Developer tab on the ribbon, enable it first.

Run a VBA script in Excel

Now, go to the Developer tab and select Visual Basic. This will open the Visual Basic editor in Excel. In the Visual Basic window, click under the Immediate section available at the bottom. If you do not see it, press the Ctrl + G keys. Type the following script and hit Enter.

Close the Visual Basic Editor window and your problem should get fixed.

4] Troubleshoot in a Clean Boot state

When we start our computer, lots of services also start automatically and keep running in the background. These Services include Microsoft and other third-party services. Microsoft Services are crucial for the proper functioning of a Windows computer. Hence, disabling these services can make your system unstable.

Sometimes, third-party background apps and services conflict with other applications and prevent them from working properly. This might be the case with you. To check this, start your computer in a Clean Boot state. Clean Boot is a troubleshooting state where all the third-party services and startup apps remain disabled.

Launch Excel in the Clean Boot state and see if the problem persists. If not, a third-party service or background app is responsible for the issue.

Troubleshoot in the Clean Boot state to identify the culprit. To do so, enable all the background apps and restart your computer. After restarting your device, launch Excel and see if right-click works. If yes, one of the background apps is the culprit. Now, disable the startup apps one by one via the Task Manager and restart your computer after disabling each background app. After restarting the computer, open Excel and check the status of the issue.

How to open Windows Services

Follow the same steps to identify the problematic third-party service. But this time, you have to use the MSConfig app instead of the Task Manager. Once, you find the problematic third-party service, disable it permanently by using the Services Manager.

Related: Can’t type numbers or enter data into Excel cell.

5] Delete the Options folder from the Registry

This solution requires modifications in Windows Registry. Windows Registry is a hierarchical database of the Windows operating system. Therefore, you should be careful while modifying it as any mistake can lead to serious errors. We recommend you create a System Restore Point and backup your Registry before performing the steps written below.

Press the Win + R keys to open the Run command box. When the Run command box appears, type regedit and click OK. Click Yes in the UAC prompt. This will launch the Registry Editor.

Copy the following path and paste it into the address bar of the Registry Editor. After that, press Enter.

ComputerHKEY_CURRENT_USERSoftwareMicrosoftOffice

Delete Options folder for Excel in Registry

Expand the Office folder and then expand the folder that represents your Office version number. In my case, it is folder 16.0. It should contain the folders of all Office applications. Expand the Excel folder.

Now, right-click on the Options folder and select Delete. Before you delete the Options folded, make sure that it is located inside the Excel folder.

6] Repair Office

If none of the above solutions worked, repairing Office will help. First, try Quick Repair. If it does not work, run an Online Repair. Online Repair will take more time than Quick Repair but it is more effective than Quick Repair.

I hope this helps.

Read next: Cannot create List in Excel: The file does not exist.

 

staudio

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

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

#1

11.04.2018 10:55:01

Всем добрый день, возникла проблема, очень надеюсь на вашу помощь.
На одном ПК возникла проблема — перестало появляться контекстное меню при нажатии правой кнопкой мыши в любом месте документа (на ячейку, на столбец, на строку), проблема актуальная для любого файла Excel.
Поиск по данному форуму дал результат, в одной из старых тем нашел слудующее:

Чтобы заработало контекстное меню для ячеек:

Код
Sub macro1() 
With CommandBars("Cell") 
.Reset 
.Enabled = True 
End With 
End Sub

Для строк:

Код
Sub macro1() 
With CommandBars("Column") 
.Reset 
.Enabled = True 
End With 
End Sub

Для столбцов:

Код
Sub macro1() 
With CommandBars("Row") 
.Reset 
.Enabled = True 
End With 
End Sub

Как работает данный макрос к сожалению не понимаю, но после запуска сразу же во всех документах начинает работать контекстное меню, но временно  :( через какое-то время проблема вновь появляется и снова приходится запускать этот макрос. Из того что пробовал — полная переустановка офиса с очисткой реестра и тд, не помогло через день проблема вернулась.

Понятно что можно переустановить Windows, но хочется разобраться в проблеме.

Всем заранее спасибо за советы.

 

подключена надстройка или открываете какой-то из своих файлов, в котором при открытии срабатывает макрос запрещающий использование перечисленных выше меню.
как только заментили, что меню пропали: в порядке обратном открытию файлов, пройдитесь по всем проектам, по всем модулям, где-то этот макрос живет…

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

Wiss

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

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

Вероятно, в каком-то из файлов excel, с которым вы работаете стоит макрос, который меняет интерфейс excel, в частности убирает контекстное меню. Периодически он глючит и не возвращает все настройки на место.

Я бы предложил объединить эти макросы, запихать в личную книгу макросов и вывести кнопку на ленту, чтобы можно его было запускать в один клик.

Изменено: Wiss11.04.2018 11:21:21

Я не волшебник, я только учусь.

 

БМВ

Модератор

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

Excel 2013, 2016

#4

11.04.2018 11:38:12

Цитата
Wiss написал:
Периодически он глючит

Это не глюк, это недоработка кода. Принцип один, уходя гасите свет. Пришел на лист, книгу…..  где это надо включи, ушел — отключи.  Кто-то просто это не учел.

По вопросам из тем форума, личку не читаю.

 

Wiss

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

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

БМВ, не спорю, что это недоработка, но учитывая, что автор не понимает как работают макросы из темы, вряд ли он сможет эту недоработку исправить. Поэтому я и предложил удобный костыль. Плюс, это всё таки может быть глюком, связанным с некорректным выходом из книги.

Я не волшебник, я только учусь.

 

sokol92

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

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

Попробуйте найти  и переименовать файл:
C:UsersВашеИмяAppDataRoamingMicrosoftExcelExcel15.xlb
где ВашеИмя — имя, под которым Вы входите в Windows.

После этого зайдите в Excel. Все меню должны восстановиться до первоначального состояния.

Изменено: sokol9211.04.2018 14:23:18

 

БМВ

Модератор

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

Excel 2013, 2016

#7

11.04.2018 13:26:28

Цитата
sokol92 написал:
C:UsersВашеИмяAppDataRoamingMicrosoftExcelExcel15.xlb

%USERPROFILE%AppDataRoamingMicrosoftExcel

так корректнее

По вопросам из тем форума, личку не читаю.

 

sokol92

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

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

Конечно, но мой вариант понятнее (проверено) :)  

 

staudio

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

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

Wiss, БМВ,
ну то что возможно отрабатывает какой-либо скрипт в файлайх это возможно, так как файлов excel  у пользователя много и поступают из разных сотронних компаний, но ставить горячую клавишу чтобы каждый раз нажимать её если возникает проблема это думаю не лучшее решение в силу того что пользователь мягко говоря не очень терпеливый ))) но в любом случае спасибо за совет и потраченное время, приму к сведению рекомендации
sokol92,
Спасибо большое за совет, попробую, если это поможет то может сделаю чтобы каждую ночь автоматически этот файл удалялся из каталога

Еще теоретически можно отключить работу макросов вообще, но думаю это не вариант так как в некоторых файлах макросы нужны.

Изменено: staudio11.04.2018 13:55:57

 

sokol92

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

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

Успехов! Сообщите о результате.

 

restation

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

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

#11

03.10.2019 11:49:05

Добрый день.

Задался вопросом,  на открытии книги   код  скрывает все данные на ribbon-e. При закрытии книги отображает с включением всех параметров. Но все равно , когда открываешь другую книгу , правый клик мыши не работает . Не помогает также вызов в  Workbook_BeforeClose  кода, приведенного выше, есть идеи,куда рыть?

Код
Private Sub Workbook_Open()

    ChangeInterface False
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
ChangeInterface True
ActiveWindow.Close False

End Sub


Private Sub ChangeInterface(Value As Boolean)
    With Application
        .ScreenUpdating = False
        .Caption = IIf(Value = True, Empty, "Application")
        .DisplayStatusBar = Value: .DisplayFormulaBar = Value
        Dim iCommandBar As CommandBar
        For Each iCommandBar In .CommandBars
            iCommandBar.Enabled = Value
        Next
        With .ActiveWindow
            .Caption = IIf(Value = True, .Parent.Name, "88888")
            .DisplayHeadings = Value: .DisplayGridlines = Value
            .DisplayHorizontalScrollBar = Value: .DisplayVerticalScrollBar = Value
            .DisplayWorkbookTabs = Value
        End With
        .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", " & Value & ")"
        .ScreenUpdating = True
    End With
End Sub
 

Дмитрий(The_Prist) Щербаков

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

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

Профессиональная разработка приложений для MS Office

#12

03.10.2019 13:31:57

Цитата
restation написал:
куда рыть

в сторону других событий книги. Ведь beforeClose, как следует из названия, срабатывает только перед закрытием книги с кодом, а не перед открытием другой. Но есть события Activate и Deactivate, которые можно использовать, чтобы скрывать или показывать панель в зависимости от того, какая книга активна.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

restation

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

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

#13

03.10.2019 14:08:58

Дмитрий(The_Prist) Щербаков,  Приветствую, нашел ошибку , на userform  был CommandButton , который закрывал прложение , пришлось и туда воткнуть этот reset,воспользовался вашим. А касаемо  Activate и   Deactivate  это я предусмотрел….

Код
Sub скинуть_правый_клик()
    Dim cmdBar As Object
    On Error Resume Next
    For Each cmdBar In Application.CommandBars
        cmdBar.Enabled = True: cmdBar.Reset
    Next cmdBar
End Sub
 

restation

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

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

#14

04.10.2019 10:27:23

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

Открываем

Скрытый текст

События закрытия.

Скрытый текст

Активация ( продублировал все переходы )

Скрытый текст

Деактивация ( продублировал все переходы )

Скрытый текст

 

лучше бы книгу с кодами приложили. Так проблему искать сложно. Например, непонятно реально ли задублированы процедуры ChangeInterface или Вы нам их два раза специально написали? Если Вы — зачем? В общем вопросов больше, чем ответов. У меня по крайней мере.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

restation

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

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

Дмитрий(The_Prist) Щербаков,Пожалуйста, пример кинул, в оригинале userform заполнен боксами + название файла другое..

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

  • пример.xlsm (56.02 КБ)

 

sokol92

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

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

#17

04.10.2019 16:21:10

Цитата
restation написал:
правый клик мыши не работает

При открытии книги отключается обработка событий и корректируются меню.
При закрытии книги никакие события не обрабатываются (обработка событий отключена) и меню остаются «испорченными».

Выложенная Вами книга может сильно разволновать (после открытия) неподготовленного читателя. :)

Владимир

 

restation

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

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

#18

04.10.2019 21:44:45

Цитата
sokol92 написал:
При закрытии книги никакие события не обрабатываются (обработка событий отключена) и меню остаются «испорченными».

А вот из этого , да ?

Код
Call Reset_Events


Sub Reset_Events()
    Application.EnableEvents = False
End Sub


Нужно вот так?

Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Application.DisplayAlerts = False  
   Call Восстановить_Интерфейс
   Workbooks("****").Close
   Application.DisplayAlerts = True 
End Sub


Private Sub Восстановить_Интерфейс()
       ChangeInterface True
   Call востановить правый_клик
    End Sub   

Sub востановить правый_клик()
Dim cmdBar As Object
    On Error Resume Next
    For Each cmdBar In Application.CommandBars
        cmdBar.Enabled = True: cmdBar.Reset
    Next cmdBar
End Sub

Private Sub ChangeInterface(Value As Boolean)
    With Application
        .ScreenUpdating = False
        .Caption = IIf(Value = True, Empty, "Application")
        .DisplayStatusBar = Value: .DisplayFormulaBar = Value
        Dim iCommandBar As CommandBar
        For Each iCommandBar In .CommandBars
            iCommandBar.Enabled = Value
        Next
        With .ActiveWindow
            .Caption = IIf(Value = True, .Parent.Name, "Print_Tobacco")
            .DisplayHeadings = Value: .DisplayGridlines = Value
            .DisplayHorizontalScrollBar = Value: .DisplayVerticalScrollBar = Value
            .DisplayWorkbookTabs = Value
        End With
        .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", " & Value & ")"
        .ScreenUpdating = True
    End With
End Sub
 

restation

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

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

#19

04.10.2019 21:57:16

sokol92, рибон же востанавливается полностью, все корректно, проблема с правым кликом. Если запускать :

Код
Sub востановить_правый_клик()
Dim cmdBar As Object
    On Error Resume Next
    For Each cmdBar In Application.CommandBars
        cmdBar.Enabled = True: cmdBar.Reset
    Next cmdBar
End Sub

Никаких проблем после , разлипает. Добавил это событие на   Workbook_BeforeClose  , не работает. Может это связанно как-то с формой?

Клавиша есть на форме, которая закрывает все приложение в целом , по типу :

Код
Private Sub CommandButton2_Click()

    Call востановить_правый_клик
    ActiveWindow.Close False
End Sub

Изменено: restation04.10.2019 22:06:41

 

sokol92

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

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

#20

05.10.2019 17:26:12

Цитата
restation написал:
Добавил это событие на   Workbook_BeforeClose

Так как раз в этом и проблема.
При открытии книги обработка событий объектов Excel Вами отключается (свойство Application.EnableEvents устанавливается в False). Соответственно, при закрытии книги не будет вызван макрос, обрабатывающий событие

Workbook.BeforeClose

. Вы в этом можете убедиться, поставив, например, выдачу какого-либо сообщения в начале макроса Workbook_BeforeClose.

Владимир

 

restation

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

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

#21

06.10.2019 01:50:22

sokol92,  Благодарю…. это был мой случай

Цитата
БМВ написал:
Пришел на лист, книгу…..  где это надо включи, ушел — отключи
 

kerzhaev

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

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

решить проблему помогло переименование файла в системной папке

 

Cthutq

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

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

#23

23.01.2021 09:07:18

Привет!
Помогите разобраться почему не работает контекстное меню вызываемое правой кнопкой мыши? Если переименовать файл Excel15.xlb, то всё начинает работать, но стоит открыть файл с макросом сразу перестает работать. Я в макросах совсем не разбираюсь, прошу поправить или подсказать что сделать.

Код
Sub ChangeInterface(Value As Boolean)
    With Application
        .ScreenUpdating = False
        .Caption = IIf(Value = True, Empty, "1")
        .DisplayStatusBar = Value: .DisplayFormulaBar = Value
        Dim iCommandBar As CommandBar
        For Each iCommandBar In .CommandBars
            iCommandBar.Enabled = Value
        Next
        With .ActiveWindow
            .Caption = IIf(Value = True, .Parent.Name, "")
            .DisplayHeadings = Value: .DisplayGridlines = Value
            .DisplayHorizontalScrollBar = Value: .DisplayVerticalScrollBar = Value
            .DisplayWorkbookTabs = Value
        End With
        .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", " & Value & ")"
        .ScreenUpdating = True
    End With
End Sub

Sub УбратьВсё()
    ChangeInterface False
End Sub

Sub ВосстановитьИнтерфейс()
    ChangeInterface True
End Sub

Private Sub Workbook_Open() ' открытие книги
    УбратьВсё
End Sub
Private Sub Workbook_Activate() ' возврат на эту книгу из другой
    УбратьВсё
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean) ' закрытие книги
    ВосстановитьИнтерфейс
End Sub
Private Sub Workbook_Deactivate() ' переключение на другую книгу
    ВосстановитьИнтерфейс
End Sub

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

  • 1.xlsm (16.09 КБ)

 

FrOleg80

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

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

#24

03.08.2021 17:48:47

Цитата
sokol92 написал:  Попробуйте найти  и переименовать файл…

Спасибо. У меня была похожая ошибка, помог Ваш совет.

Не работает правая кнопка мыши в Excel

Window 7×32 с MS Office 2010 в Excel перестала работать правая кнопка мыши и перестали перетаскиваться ячейки.

С перетаскиванием ячеек решилось с помощью параметров: в меню Дополнительно включить разрешение для перетаскивания ячеек.

Параметры в Excel
Параметры Excel

А с правой кнопкой справился VBA-скрипт:

1) Открываем Excel и нажимаем Alt+F11, чтобы открыть VBA-редактор.

2) Нажимаем Ctrl+R, чтобы выделить лист, и в верхнем меню выбираем Insert >> Module

3) В открывшееся окно редактора вставить код:

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

VBA-редактор в Excel
VBA-редактор в Excel

4) Нажимаем F5 для запуска кода.

5) Закрываем редактор и проверяем контекстное меню в Excel, нажав правой кнопкой по любой ячейке.

Понравился пост? Поделись с друзьями!

Like this post? Please share to your friends:
  • Почему не работает поискпоз в excel
  • Почему не работает поиск решения в excel
  • Почему не работает переносить по словам в excel
  • Почему не работает перенос текста в excel
  • Почему не работает относительная ссылка в excel