لیست ها در اکسل کار ورود داده ها را ساده تر کرده و از اشتباهات احتمالی در هنگام ورود اطلاعات جلوگیری می کنند.
در این روش به جای ورود اطلاعات از صفحه کلید، اطلاعات مورد نیاز از یک لیست انتخاب می شود. این لیست باید قبلاً توسط کاربر ایجاد شده باشد. یک روش ایجاد لیست با ذکر یک مثال توضیح داده میشود.
فرض کنید تا اسامی کارکنان را بخواهیم به یک لیست تبدیل کنیم. ابتدا لیست کارکنان را در یک ستون، مثلاً ستون A و بدون فاصله وارد می کنیم. از سربرگ Data گزینه Data validation را انتخاب می کنیم. از پنجره ظاهر شده و از قسمت Allow از کادر پایین افتادنی گزینه List را انتخاب می کنیم. از قسمت پایین همین پنجره و در قسمت Source آدرس محدوده ای را که اسامی در آن قرار گرفته را وارد می کنیم. (به جای آدرس محدوده، اگر این محدوده دارای اسم باشد می توان از اسم به جای آدرس محدوده استفاده نمود).
می توان در قسمت Input Massage پیام دلخواه را تایپ کنیم تا هنگام انتخاب سلول پیام مناسب نمایش داده شود.
در قسمت Error Alert نیز می توان پیامی درج کرد تا در صورت انتخاب نادرست، (مثلاً تایپ نامی که در لیست وجود ندارد) این پیام ظاهر شود
مراحل اجرای کار در تصویرهای زیر توضیح داده شده اند.
تذکر: اطلاعات برای تبدیل به لیست باید در یک محدوده پیوسته (بدون سلول خالی در بین داده ها) وارد شوند.
تذکر: اطلاعاتی که به لیست تبدیل می شوند، می توانند در کاربرگ جاری یا یک کاربرگ دیگر (مثلاً Sheet2، Sheet و … قرار داشته باشند)
تذکر: با قراردادن کرسر موس در یک سلول و انجام عملیات فوق علامت انتخاب لیست در همان سلول ظاهر خواهد شد و با خروج از سلول علامت انتخاب ناپدید می شود.
هنگامی که در اکسل یک فرمول را به سلولهای مجاور کپی می کنید، به طور پیش فرض از آدرس های نسبی استفاده می شود.
اما در بسیاری از موارد لازم است که مرجع سلول تغییر نکند. به عبارت دیگر آدرس سلول به صورت مطلق وارد شود.
برای آنکه در هنگام کپی کردن فرمولها، مرجع
فرمول ثابت بماند بایستی آن را به صورت مطلق تعریف کنیم. برای این کار از
علامت $ قبل از آدرس سلول استفاده می کنیم.
اگر پس از انتخاب آدرس سلول کلید F4 را یک بار فشار دهیم سطر و ستون به
آدرس مطلق تبدیل می شوند. اگر همین کلید را برای بار دوم فشار دهیم فقط
ردیف به حالت مطلق در می آید و اگر برای بار سوم نیز این کلید را فشار
دهیم سطر از حالت مطلق خارج شده و ستون به حالت مطلق در می آید.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
For Each rng In Target.Cells
If rng.HasFormula Then
ActiveSheet.Protect
Exit Sub
Else
ActiveSheet.Unprotect
End If
Next rng
End Sub