هنگامی که از دستور Find استفاده می کنید، اکسل به عنوان ترتیبی که در جستجوی اطلاعات استفاده می کند، "جستجو بر اساس ردیف" را به طور پیش فرض انتخاب می کند. با این حال، نیازهای شما ممکن است متفاوت باشد. ممکن است در بیشتر مواقع نیاز به جستجو بر اساس ستون داشته باشید. مطمئناً می توانید این تنظیم را هنگام شروع جستجو تغییر دهید، اما آیا خوب نیست که پیش فرض را تغییر دهید تا اکسل با جستجوی ستون ها شروع به کار کند؟
متأسفانه، هیچ تنظیمی وجود ندارد که بتوانید آن را مشخص کنید تا اکسل به یاد بیاورد که چگونه می خواهید جستجوی خود را انجام دهید. با این حال، می توانید از یک کنترل کننده رویداد برای تنظیم ترتیب جستجوی پیش فرض استفاده کنید. به مثال زیر توجه کنید:
Private Sub Workbook_Open()
On Error Resume Next
Cells.Find("", , , , xlByColumns, , , False) = True
End Sub
این ماکرو باید در ماژول ThisWorkbook قرار گیرد و هر زمان که ورک بوک باز شود اجرا می شود. ماکرو کاری جز تغییر ترتیب جستجو به ستون انجام نمی دهد. پس از اجرا (به عبارت دیگر، پس از باز کردن ورک بوک)، جستجوهای بعدی به طور پیش فرض به جستجو بر اساس ستون خواهند بود.
این واقعیت که اکسل آخرین ترتیب جستجوی استفاده شده را برای همه جستجوهای بعدی در طول جلسه فعلی اکسل به خاطر می آورد، می تواند به نفع شما باشد. ماکرو زیر اساساً همان کار مثال قبلی را انجام می دهد، با این تفاوت که ورک بوک را نیز می بندد:
Private Sub Workbook_Open()
Worksheets(1).Cells.Find _
What:="", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, _
MatchCase:=True
ThisWorkbook.Close SaveChanges:=False
End Sub
اگر این ماکرو را در یک Workbook خالی قرار دهید و سپس Workbook را در پوشه xlStart خود ذخیره کنید، هر بار که Excel را راه اندازی می کنید باز می شود. هنگامی که باز می شود، ورک بوک با استفاده از تنظیمات مورد نظر شما یک جستجو را انجام می دهد و سپس بسته می شود. نتیجه خالص این است که ترتیب جستجوی شما بر روی ستون تنظیم شده است و جستجوهای بعدی همانطور که می خواهید انجام می شود.