Khi Dan hiển thị hộp thoại Tìm, cài đặt mặc định là tìm kiếm trong trang tính và tìm kiếm trong công thức. Anh ấy muốn mặc định nằm trong sổ làm việc và xem các giá trị, vì vậy anh ấy đang tự hỏi liệu có cách nào để thay đổi mặc định không.

Excel không cho phép bạn chỉ định cài đặt nào bạn muốn làm mặc định trong hộp thoại Tìm. Tuy nhiên, có một chút cách để giải quyết hạn chế dường như này — ít nhất là một phần. Excel ghi nhớ cài đặt cuối cùng trong hộp thoại Tìm cho toàn bộ phiên Excel. (Cài đặt không được đặt lại cho đến khi bạn thoát và khởi động lại Excel.) Điều này có nghĩa là tất cả những gì bạn cần làm là tạo một macro nhỏ sẽ đặt cài đặt bạn muốn trong hộp thoại.

Có hai cách bạn có thể làm điều này. Đầu tiên là tạo một macro đặt các tùy chọn trong hộp thoại trực tiếp, chẳng hạn như sau:

Sub SetFind1()

Application.Dialogs(xlDialogFormulaFind).Show,2,2 End Sub

Cách thứ hai là sử dụng phương thức Find của đối tượng Cells, theo cách này:

Sub SetFind2()

Dim c As Range     c = Cells.Find(What:="", LookIn:=xlValues, LookAt:=xlPart)

End Sub

Một trong hai cách này sẽ hoạt động tốt, ở một mức độ nào đó. (Thông tin thêm về điều đó trong giây lát.) Tất cả những gì bạn cần làm là chạy macro khi bạn khởi động Excel lần đầu, theo cách thủ công hoặc như một phần của macro Auto_Open. Cài đặt trong hộp thoại sau đó được thay đổi trong phần còn lại của phiên Excel, trừ khi bạn thay đổi chúng theo cách thủ công.

Bây giờ, đến vấn đề. Có vẻ như không có cách nào để thay đổi cài đặt Trong của hộp thoại. Cài đặt này mặc định là tìm kiếm trong Trang tính. Bạn có thể thay đổi thủ công nó thành Workbook và Excel sẽ ghi nhớ cẩn thận cài đặt cho phiên hiện tại của bạn. Tuy nhiên, bạn dường như không thể thay đổi cài đặt trong VBA. Bạn sẽ lưu ý rằng không có macro mẫu nào ở trên thay đổi cài đặt cụ thể này. Hơn nữa, nếu bạn ghi lại một macro trong đó bạn thay đổi hai cài đặt (Trong và Nhìn vào), bạn sẽ có một cái gì đó giống như sau:

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

Nếu bạn lưu sổ làm việc mà macro này tồn tại, hãy khởi động lại Excel, sau đó kiểm tra cài đặt trong hộp thoại Tìm (nhấn Ctrl + F), bạn sẽ lưu ý rằng cài đặt trở về mặc định là tìm kiếm trong trang tính và tìm kiếm trong công thức. Chạy macro và sau đó nhìn lại hộp thoại; bạn sẽ thấy rằng các cài đặt là để tìm kiếm các giá trị trong trang tính; macro không đặt cài đặt Bên trong, mặc dù bạn đã ghi lại khi đặt Bên trong thành Sổ làm việc.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (8801) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: