Tôi đã có một vấn đề tương tự. Tôi có nút trong sổ làm việc. Nếu nút được nhấp, tôi muốn excel mở cuộc hội thoại tìm kiếm với tùy chọn "tìm kiếm trong tất cả các sổ làm việc" đã được chọn thay vì "trong trang" mặc định, bất kể là gì.
Hơn nữa, tôi muốn nút này hoạt động liên quan đến các tùy chọn bị ẩn hoặc hiển thị và không hoặc ai đó đã thực hiện thay đổi bằng tay. Điều này thật khó khăn vì Excel mỗi mặc định không hiển thị các tùy chọn khi bắt đầu nhưng sẽ nhớ và hiển thị lại chúng vào lần tiếp theo nếu ai đó hiển thị chúng trước đó.
Để đảm bảo các tổ hợp phím hoạt động, chúng ta cần một loạt các tổ hợp phím đặt cài đặt bất kể trạng thái ban đầu. Mất khá nhiều tiếng leng keng, nhưng tôi tìm thấy một cái hoạt động được.
Đây là mã của tôi cho phiên bản tiếng Anh của Excel, đối với các ngôn ngữ khác, bạn phải thay đổi các khóa cho phù hợp.
Sub Commanbutton_Click()
Cells(1, 1).Select
SendKeys "^f", True
SendKeys "{TAB 15}"
SendKeys " ", True
SendKeys "%t%t", True
SendKeys "{TAB 2}", True
SendKeys "{DOWN}{DOWN}{ENTER}", True
SendKeys "%t%t", True
End Sub
Bạn có thể dùng thử bằng tay:
Nhấn CTRL + F để tìm đoạn hội thoại Nhấn TAB 15 lần để bạn vào "Tùy chọn" hoặc trên menu thả xuống "Tìm kiếm trong".
Không gian báo chí và một trong hai
1) Tùy chọn được hiển thị hoặc 2) trình đơn thả xuống được kích hoạt và không có gì xảy ra
Nhấn Alt + T hai lần để đặt lại con trỏ vào hộp tìm đầu vào
Nhấn TAB hai lần, nó sẽ đưa bạn đến tìm kiếm trong danh sách thả xuống, bất kể điều gì (vì các bước trước đó đảm bảo rằng các tùy chọn trên thực tế được hiển thị!)
Nhấn mũi tên DOWN hai lần để chọn "Workbook" và ENTER để chọn
Nhấn ALT + T hai lần để đặt lại con trỏ vào hộp tìm đầu vào.
Hy vọng điều này sẽ giúp người khác có vấn đề tương tự. Rất nhiều Googling chỉ nói với tôi rằng không thể chọn trước "tìm kiếm trong tất cả các sách bài tập" với VBA nhưng cách này hoạt động!
Để làm cho nó hoạt động với các ngôn ngữ khác nhau, bạn cần kiểm tra ngôn ngữ và sử dụng CASE để chuyển sang thói quen thích hợp với các phím tắt phù hợp.