رویدادها در اکسل

عبارت "رویداد اکسل» برای نشان دادن برخی اقدامات انجام شده توسط کاربر در اکسل استفاده می شود. به عنوان مثال، هنگامی که یک کاربر برگه کتاب کار را تغییر می دهد، این یک رویداد است. وارد کردن داده ها در یک سلول یا ذخیره یک کتاب کار نیز از رویدادهای اکسل هستند.

رویدادها را می توان به یک کاربرگ اکسل، به نمودارها، یک کتاب کار یا مستقیماً به خود برنامه اکسل پیوند داد. برنامه نویسان می توانند کد VBA ایجاد کنند که به صورت خودکار در هنگام وقوع یک رویداد اجرا شود.

به عنوان مثال، برای اجرای یک ماکرو هر بار که کاربر یک کاربرگ را در یک کتاب کار اکسل تغییر می‌دهد، باید کد VBA ایجاد کنید که هر بار که رویداد رخ دهد اجرا می‌شود. SheetActivate کتاب کار

و اگر می خواهید ماکرو هر بار که به یک کاربرگ خاص می روید اجرا شود (به عنوان مثال، Sheet1، سپس کد VBA باید با رویداد مرتبط باشد فعال کردن برای این برگه

کد VBA که برای مدیریت رویدادهای اکسل در نظر گرفته شده است باید در کاربرگ یا شیء کتاب کار مناسب در پنجره ویرایشگر VBA قرار داده شود (ویرایشگر را می توان با کلیک کردن باز کرد. Alt + F11). به عنوان مثال، کدی که باید هر بار که رویداد خاصی در سطح کاربرگ رخ می دهد اجرا شود، باید در پنجره کد آن کاربرگ قرار داده شود. این در شکل نشان داده شده است:

در ویرایشگر ویژوال بیسیک، می توانید مجموعه ای از تمام رویدادهای اکسل موجود در کتاب کار، کاربرگ یا سطح نمودار را مشاهده کنید. پنجره کد را برای شی انتخاب شده باز کنید و نوع شی را از منوی کشویی سمت چپ در بالای پنجره انتخاب کنید. منوی کشویی سمت راست در بالای پنجره، رویدادهای تعریف شده برای این شی را نشان می دهد. شکل زیر لیستی از رویدادهای مرتبط با کاربرگ Excel را نشان می دهد:

رویدادها در اکسل

روی رویداد مورد نظر در منوی کشویی سمت راست کلیک کنید و یک رویه به طور خودکار در پنجره کد برای این شی درج می شود. زیر. در راس رویه زیر اکسل به طور خودکار آرگومان های مورد نیاز (در صورت وجود) را وارد می کند. تنها چیزی که باقی می ماند این است که کد VBA را اضافه کنید تا مشخص شود که رویه باید چه اقداماتی را هنگام شناسایی رویداد مورد نظر انجام دهد.

مثال

در مثال زیر، هر بار یک سلول انتخاب می شود B1 در کاربرگ Sheet1 یک جعبه پیام ظاهر می شود

برای انجام این عمل باید از رویداد کاربرگ استفاده کنیم انتخاب_تغییر، که هر بار که انتخاب یک سلول یا محدوده سلولی تغییر می کند رخ می دهد. عملکرد انتخاب_تغییر به عنوان استدلال دریافت می کند هدف هدف -. اینگونه است که می دانیم کدام محدوده از سلول ها انتخاب شده است.

واقعه انتخاب_تغییر با هر انتخاب جدیدی رخ می دهد. اما ما نیاز داریم که مجموعه اقدامات فقط زمانی اجرا شود که سلول انتخاب شده باشد B1. برای انجام این کار، رویداد را فقط در محدوده مشخص شده ردیابی می کنیم هدف. نحوه پیاده سازی آن در کد برنامه که در زیر نشان داده شده است:

"کد برای نمایش جعبه پیام هنگامی که سلول B1 انتخاب شده است" در کاربرگ فعلی. Private Sub Worksheet_SelectionChange(ByVal Target As Range) "بررسی کنید سلول B1 انتخاب شده باشد اگر Target.Count = 1 و Target.Row = 1 و Target.Column = 2 سپس "اگر سلول B1 انتخاب شده است، MsgBox زیر را انجام دهید" یک سلول B1" End If End Sub را انتخاب کرد

پاسخ دهید