मेरा मुद्दा भी ऐसा ही था। मेरे पास एक कार्यपुस्तिका में बटन है। यदि बटन पर क्लिक किया जाता है तो मैं चाहता हूं कि "सभी शीट के भीतर पहले से चयनित" के बजाय "शीट के भीतर" चुने गए विकल्प के साथ खोज संवाद को खोलने के लिए एक्सेल, चाहे जो भी हो।
इसके अलावा, मैं चाहता था कि बटन छिपी या दिखाए जा रहे विकल्पों पर वर्कलेस हो और किसी व्यक्ति द्वारा मैन्युअल रूप से बदलाव किए गए या नहीं। यह मुश्किल है क्योंकि एक्सेल प्रति डिफ़ॉल्ट शुरू में विकल्प नहीं दिखाता है लेकिन याद रखता है और अगली बार फिर से दिखाता है कि क्या किसी ने उन्हें पहले प्रदर्शित किया था।
यह सुनिश्चित करने के लिए कि कीस्ट्रोक काम करते हैं हमें कीस्ट्रोक्स की एक श्रृंखला की आवश्यकता होती है जो प्रारंभिक अवस्था की परवाह किए बिना सेटिंग सेट करती है। काफी छेड़छाड़ का सामना किया, लेकिन मुझे एक काम मिला।
यहां एक्सेल के अंग्रेजी संस्करण के लिए मेरा कोड है, अन्य भाषाओं के लिए आपको तदनुसार चाबियाँ बदलनी होंगी।
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
आप इसे मैन्युअल रूप से आज़मा सकते हैं:
खोज संवाद के लिए CTRL + F दबाएँ 15 बार TAB दबाएँ ताकि आप या तो "विकल्प" पर या "ड्रॉपडाउन के भीतर खोजें" पर उतरें।
प्रेस स्पेस और भी
1) विकल्प प्रदर्शित होते हैं या 2) ड्रॉपडाउन सक्रिय हो जाता है और कुछ भी नहीं होता है
कर्सर को खोज इनपुट बॉक्स पर रीसेट करने के लिए Alt + T को दो बार दबाएँ
TAB को दो बार दबाएं, यह आपको ड्रॉपडाउन के भीतर खोज में ले जाएगा, चाहे कोई भी हो (क्योंकि पिछले चरण यह सुनिश्चित करते हैं कि वास्तव में विकल्प प्रदर्शित हों!)
"कार्यपुस्तिका" का चयन करने के लिए दो बार तीर दबाएं और चयन करने के लिए दर्ज करें
कर्सर को पुनः इनपुट बॉक्स में रीसेट करने के लिए दो बार ALT + T दबाएँ।
आशा है कि यह किसी और की मदद करता है जिसे इसी तरह की समस्या है। Googling के बहुत सारे लोगों ने मुझे बताया कि VBA के साथ "सभी कार्यपुस्तिकाओं के भीतर खोज" को छांटना संभव नहीं है लेकिन यह काम करता है!
इसे विभिन्न भाषाओं के साथ काम करने के लिए आपको भाषा की जांच करनी होगी और उचित शॉर्टकट के साथ उचित दिनचर्या पर स्विच करने के लिए CASE का उपयोग करना होगा।