
لینک کوتاه : https://magicfile.ir/?p=4685
دانلود فرم مدیریت رویدادها و خاطرات در اکسل با VBA + سورس کامل ثبت، ویرایش، حذف و جستجو
در این پست قصد داریم سورس کد کامل فرم مدیریت رویدادها در اکسل با استفاده از VBA را بررسی کنیم. این کد یک فرم کاربردی و ساده برای ثبت، ویرایش، حذف و جستجوی رویدادها (مثل جلسات، یادآوریها یا کارهای مهم) در یک شیت بهنام "رويدادها" ایجاد میکند. در ادامه به بررسی و توضیح کامل قسمتهای مختلف این کد میپردازیم:
نمونه تصاویر در زمان اجرا
🎯 کاربرد کلی فرم:
فرم مورد نظر به کاربر اجازه میدهد تا:
-
رویدادی با تاریخ، عنوان، توضیح و میزان اهمیت ثبت کند.
-
لیست رویدادهای قبلی را مشاهده و ویرایش کند.
-
رویدادهای خاص را جستجو کند.
-
رویداد انتخابی را حذف نماید.
🔍 بررسی خط به خط کد
✅ رویداد UserForm_Initialize
Private Sub UserForm_Initialize() cmbImportance.AddItem "کم" cmbImportance.AddItem "معمولي" cmbImportance.AddItem "زياد" LoadEvents End Sub
هنگام باز شدن فرم، گزینههای سطح اهمیت به ComboBox (cmbImportance) افزوده میشوند و لیست رویدادهای ثبتشده از شیت خوانده میشود و در ListBox
نمایش داده میشود.
✅ تابع LoadEvents
Private Sub LoadEvents() ' ... End Sub
این تابع اطلاعات موجود در شیت "رويدادها" را از ردیف دوم به بعد (ردیف اول معمولاً برای عنوان ستونها است) خوانده و در ListBox
با نام lstEvents
نمایش میدهد.
✅ دکمه ثبت (btnثبت_Click
)
Private Sub btnثبت_Click() ' ... End Sub
با کلیک روی دکمه "ثبت"، اطلاعات وارد شده در فیلدها به انتهای شیت "رويدادها" افزوده میشود، سپس فیلدها پاک میشوند و لیست مجدداً بارگذاری میشود.
✅ دکمه ویرایش (btnويرايش_Click
)
Private Sub btnويرايش_Click() ' ... End Sub
اگر یک سطر در ListBox
انتخاب شده باشد، اطلاعات آن با مقادیر جدیدی که کاربر وارد کرده است بهروزرسانی میشود.
✅ دکمه حذف (btnحذف_Click
)
Private Sub btnحذف_Click() ' ... End Sub
سطر انتخابی در ListBox
شناسایی و سپس از شیت حذف میشود. پس از آن، لیست رویدادها مجدداً بارگذاری میشود.
✅ دکمه جستجو (btnجستجو_Click
)
Private Sub btnجستجو_Click() ' ... End Sub
از کاربر یک کلیدواژه دریافت میشود و در عنوان، توضیح یا اهمیت رویدادها جستجو انجام میگیرد. در صورت یافتن، آن سطر انتخاب و پیامی نمایش داده میشود.
✅ دکمه بستن فرم (btnبستن_Click
)
Private Sub btnبستن_Click() Unload Me End Sub
فرم بسته میشود.
✅ کلیک بر روی یک سطر از ListBox
(lstEvents_Click
)
Private Sub lstEvents_Click() ' ... End Sub
هنگامی که کاربر روی یکی از سطرهای ListBox
کلیک کند، اطلاعات آن سطر در فیلدهای ورودی نمایش داده میشود تا کاربر بتواند آن را ویرایش کند.
✅ پاکسازی فیلدها (ClearFields
)
Private Sub ClearFields() ' ... End Sub
تمام فیلدهای فرم را خالی میکند. از این تابع بعد از ثبت اطلاعات استفاده میشود.
📝 ساختار شیت "رويدادها"
ستون | عنوان |
---|---|
A | تاریخ |
B | عنوان رویداد |
C | توضیحات |
D | اهمیت |
🎨 پیشنهادات برای بهبود:
-
اضافه کردن اعتبارسنجی برای اطمینان از وارد شدن اطلاعات (مثلاً پر بودن تاریخ یا عنوان).
-
استفاده از
DatePicker
برای انتخاب تاریخ. -
افزودن قابلیت فیلتر یا مرتبسازی براساس تاریخ یا اهمیت.
-
امکان ذخیره به صورت PDF یا ارسال رویداد به ایمیل.
📦 جمعبندی:
این کد یک نمونهی ساده اما کاربردی از سیستم مدیریت رویداد در اکسل با استفاده از VBA است. مناسب برای استفاده شخصی، تیمی یا اداری جهت ثبت وظایف، یادآوریها یا برنامهریزی رویدادها.