Несколько BeforeRightClick и обычный щелчок правой кнопкой мыши - PullRequest
0 голосов
/ 16 апреля 2020

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

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

Я нашел пример на другом веб-сайте, который позволяет работать правой кнопкой мыши, однако он не позволяет использовать несколько целей с собственными правилами. Если я не пропустил что-то, что может иметь место, подумайте, что на VBA это неделя 3.

Вот мой код: -

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
       If Target.Address = "$A$13" Then
            If Range("B12") = "Yes" Then
            Call Item_1_Get_Data
            End If
            If Range("C12") = "Yes" Then
            Call Item_2_Get_Data
            End If
            If Range("D12") = "Yes" Then
            Call Item_3_Get_Data
            End If
            If Range("E12") = "Yes" Then
            Call Item_4_Get_Data
            End If
            If Range("F12") = "Yes" Then
            Call Item_5_Get_Data
            End If
       End If

        If Target.Address = "$B$13" Then
            Call Item_1_Get_Data
        End If

        If Target.Address = "$C$13" Then
            Call Item_2_Get_Data
        End If

        If Target.Address = "$D$13" Then
            Call Item_3_Get_Data
        End If

        If Target.Address = "$E$13" Then
            Call Item_4_Get_Data
        End If

        If Target.Address = "$F$13" Then
            Call Item_5_Get_Data
        End If

        If Target.Address = "$B$10" Then
            Call SimpleVersion
        End If

        If Target.Address = "$C$10" Then
            Call DetailedVersion
        End If
   Cancel = True
End Sub

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

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:B3")) Is Nothing Then Exit Sub
Cancel = True
'
'your code here
'
End Sub

Если бы я использовал intersect(target, Range(A13,B13,C13,D13,E13,F13,B10,C10)), я думаю, что у меня может быть только одно правило на этот щелчок правой кнопкой мыши.

Если я делаю кратные intersect(target,Range(a13), тогда скажите intersect(target,Range(B13), это работает на первом, но не на втором или больше.

Спасибо,

1 Ответ

1 голос
/ 16 апреля 2020

Просто удалите:

Cancel = True

это позволит нормальное поведение правой кнопки мыши для "нормальных" ячеек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...