وقتی Dan کادر محاورهای Find را نمایش میدهد، تنظیمات پیشفرض جستجو در کاربرگ و جستجو در فرمولها است. او میخواهد پیشفرض در کتاب کار باشد و مقادیر را بررسی کند، بنابراین او میپرسد آیا راهی برای تغییر پیشفرض وجود دارد یا خیر.
اکسل به شما اجازه نمی دهد در کادر محاوره ای Find تنظیماتی را که برای پیش فرض می خواهید مشخص کنید. با این حال، راهی برای دور زدن این محدودیت ظاهری وجود دارد - حداقل یک راه جزئی. اکسل آخرین تنظیمات را در کادر گفتگوی Find برای کل جلسه اکسل به خاطر می آورد. (تنظیمات بازنشانی نمی شوند تا زمانی که اکسل را خارج و مجدداً راه اندازی کنید.) این بدان معناست که تنها کاری که باید انجام دهید این است که یک ماکرو کوچک ایجاد کنید که تنظیمات مورد نظر شما را در کادر محاوره ای تنظیم کند.
دو راه برای انجام این کار وجود دارد. اولین مورد ایجاد یک ماکرو است که مستقیماً گزینهها را در کادر محاورهای تنظیم میکند، مانند این:
Sub SetFind1()
Application.Dialogs(xlDialogFormulaFind).Show,2,2
End Sub
راه دوم استفاده از متد Find شی Cells به این صورت است:
Sub SetFind2()
Dim c As Range
Set c = Cells.Find(What:="", LookIn:=xlValues, LookAt:=xlPart)
End Sub
هر کدام از اینها تا حدی به خوبی کار خواهند کرد. (اطلاعات بیشتر در مورد آن در یک لحظه.) تنها کاری که باید انجام دهید این است که در اولین راه اندازی اکسل، ماکرو را به صورت دستی یا به عنوان بخشی از ماکرو Auto_Open اجرا کنید. سپس تنظیمات در کادر محاوره ای برای باقیمانده جلسه اکسل تغییر می کند، مگر اینکه به صورت دستی آنها را تغییر دهید.
حالا سر اصل مطلب. به نظر می رسد راهی برای تغییر تنظیمات درون کادر محاوره ای وجود ندارد. این تنظیم به طور پیش فرض برای جستجو در کاربرگ است. میتوانید آن را بهصورت دستی به Workbook تغییر دهید و اکسل با دقت تنظیمات جلسه فعلی شما را به خاطر میسپارد. با این حال، به نظر نمی رسد که نمی توانید تنظیمات را در VBA تغییر دهید. توجه داشته باشید که هیچ یک از ماکروهای نمونه بالا، این تنظیمات خاص را تغییر نمی دهند. علاوه بر این، اگر یک ماکرو ضبط کنید که در آن دو تنظیمات (Witin و Look In) را تغییر دهید، در نهایت به چیزی شبیه به این خواهید رسید:
Sub Macro1()
Macro1 Macro
Sheets("Sheet1").Select
Cells.Find(What:="", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Activate
End Sub
اگر کتاب کاری را که در آن این ماکرو وجود دارد ذخیره کنید، اکسل را مجددا راه اندازی کنید، و سپس تنظیمات را در کادر محاوره ای Find بررسی کنید ( Ctrl+F را فشار دهید )، متوجه خواهید شد که تنظیمات به حالت پیش فرض جستجو در کاربرگ و جستجو در فرمول ها بازگشته است. . ماکرو را اجرا کنید و سپس دوباره به کادر محاوره ای نگاه کنید. باید ببینید که تنظیمات برای جستجوی مقادیر درون کاربرگ است. ماکرو تنظیمات Within را تنظیم نمیکند، حتی اگر زمانی که درون را روی Workbook تنظیم کردهاید، آن را ضبط کردهاید.