رخداد BeforeRightClick کاربرگ (اکسل)

رخداد BeforeRightClick وقتی که یک کاربرگ راست کلیک می‌شود، قبل از اینکه اقدام پیش‌فرض راست کلیک اجرا شود، فعال می‌گردد.

دستور اجرا

expression.BeforeRightClick (Target , Cancel)

expression متغیری است که یک شی Worksheet را نمایندگی می‌کند.

آیا می‌دانید:

تسلط بر ماکرونویسی و دستورات VBA در اکسل به شما این امکان را می‌دهد که به‌طور موثر از ابزارهای ویژوال بیسیک برای ایجاد کدهای خودکار استفاده کنید؛ به طوری که با یادگیری نحوه ایجاد و استفاده از نمونه کدهای VBA در اکسل، می‌توانید کارهای تکراری را سریع‌تر و دقیق‌تر انجام دهید و در نهایت به بهینه‌سازی کارهای روزمره خود کمک کنید؟

پارامتر‌ها

ناماجباری/اختیارینوع دادهتوضیحات
TargetاجباریRangeنزدیکترین سلول به نشانگر ماوس هنگام دوبار کلیک کردن.
CancelاجباریBooleanهنگام وقوع رویداد نادرست است. اگر رویه رویداد این آرگومان را روی True تنظیم کند، عمل راست کلیک پیش‌فرض پس از اتمام رویه انجام نمی‌شود.

مقدار بازگشتی

ندارد.

ملاحظات

شبیه سایر رخدادهای کاربرگ، رویداد BeforeRightClick زمانی که نشانه‌گر ماوس روی یک شکل یا نوار ابزار (نوار ابزار یا نوار منو) راست کلیک نمایید، فعال نخواهد شد.

ویدئوی آموزشی

مثال

کد زیر با استفاده از رخداد BeforeRightClick یک دستور جدید با عنوان Fill Series به منوی راست کلیک اکسل اضافه می‌کند. با کلیک روی منوی انتخاب شده استایل سلول‌های محدوده انتخابی عوض شده و مقدار آنها به ترتیب از یک تا آخرین سلول تکمیل می‌شود.


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim icbc As Object For Each icbc In Application.CommandBars("cell").Controls If icbc.Tag = "iv-menu" Then icbc.Delete Next icbc With Application.CommandBars("cell").Controls.Add(Type:=msoControlButton, before:=6, temporary:=True) .Caption = "Fill Series" .OnAction = Me.Name & ".ivFillSeries(" & Chr(34) & Target.Address & Chr(34) & ")" .Tag = "iv-menu" End With
End Sub Sub ivFillSeries(rangeAddress As String)
Dim rng As Range
Dim cell As Range
Dim i As Integer Set rng = Me.Range(rangeAddress) With rng .Interior.Color = RGB(255, 217, 102) .Font.Name = "Arial" .Font.Color = vbBlack .Borders.Color = vbBlack .Borders.Weight = xlThick End With i = 1 For Each cell In rng cell.Value = i i = i + 1 Next cell
End Sub

بیشتر بخوانید

دیدگاهتان را بنویسید