Hãy dành một chút thời gian và hiển thị tab Tìm của hộp thoại Tìm và Thay thế. Cách dễ nhất để làm điều này là nhấn Ctrl + F. Khi hộp thoại được hiển thị lần đầu tiên (Xem Hình 1.) Excel sẽ đưa ra các giả định nhất định về chính xác những gì bạn muốn tìm kiếm. Những gì bạn muốn tìm kiếm được quyết định bởi cài đặt của danh sách thả xuống Trong vòng. (Bạn có thể cần phải nhấp vào nút Tùy chọn để xem danh sách thả xuống Bên trong.)

image

Hình 1. Tab Tìm của hộp thoại Tìm và Thay thế.

Khi bạn hiển thị hộp thoại lần đầu tiên, theo mặc định, Within được đặt thành Trang tính. Cài đặt này đúng bất kể bạn chọn một trang tính hay nhiều trang tính trước khi hiển thị hộp thoại.

Nếu bạn muốn danh sách thả xuống Trong vòng mặc định thành Sổ làm việc (thay vì Trang tính), không có cách nào để chỉ định điều này trong Excel. Bạn có thể an ủi vì thực tế là cài đặt danh sách thả xuống Trong vòng vẫn tồn tại cho phiên hiện tại với Excel. Nói cách khác, nếu bạn đặt nó thành Workbook, hãy hoàn thành tìm kiếm của bạn và sau đó thực hiện một tìm kiếm khác, thì cài đặt Trong sẽ tồn tại; nó vẫn được đặt thành Workbook.

Điều thú vị là, lúc đầu đỏ mặt, dường như không có cách nào giải quyết vấn đề này bằng cách sử dụng macro. Điều này là do Excel không cung cấp cách để macro dễ dàng hiển thị và sửa đổi cài đặt trong hộp thoại Tìm và Thay thế. Nhiều hộp thoại có thể được hiển thị bằng cách sử dụng bộ sưu tập Hộp thoại, nhưng không phải là Tìm và Thay thế. Thay vào đó, VBA cho phép bạn hiển thị phiên bản cũ hơn của hộp thoại Tìm, sử dụng mã này:

Sub ShowFind1()

Application.Dialogs(xlDialogFormulaFind).Show End Sub

Thật không may, phiên bản này của hộp thoại Tìm không có điều khiển cho phép bạn chỉ định phạm vi tìm kiếm, như có thể được thực hiện với danh sách thả xuống Bên trong trong tab Tìm của hộp thoại Tìm và Thay thế.

Có một cách để hiển thị hộp thoại Tìm và Thay thế chính xác, nhưng không phải bằng cách sử dụng bộ sưu tập Hộp thoại. Thay vào đó, bạn cần kéo hộp thoại lên bằng cách sử dụng bộ sưu tập CommandBars, về cơ bản sẽ hiển thị hộp thoại bằng lệnh menu. (Khá là mỉa mai nếu bạn nghĩ về điều đó — Excel không còn menu nữa, nhưng bạn vẫn có thể truy cập bộ sưu tập CommandBars để hiển thị các hộp thoại bằng menu.) Đây là cách thực hiện:

Sub ShowFind2()

ActiveSheet.Cells.Find What:="", LookAt:=xlWhole     Application.CommandBars("Worksheet Menu Bar").FindControl( _       ID:=1849, recursive:=True).Execute End Sub

Phương thức Find cho phép bạn đặt các tham số khác nhau trong hộp thoại Tìm và Thay thế, sau đó đối tượng CommandBars được truy cập để thực sự hiển thị hộp thoại.

_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 (10348) áp dụng cho Microsoft Excel 2007 và 2010. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: