2013-10-16 7 views
5

मैंने मैक्रो को आग लगाने के लिए अपने वर्कशीट में उपयोगकर्ताफॉर्म नियंत्रण बटन रखा है, जो बदले में उपयोगकर्ता प्रपत्र दिखाता है, इस रूप में मैं खुले फ़ाइलों को चेकबॉक्स में प्रदर्शित करना चाहता हूं (वर्कबुक संग्रह का उपयोग करना)। मैं एक मैक्रो चलाने की इच्छा करता हूं जो उपयोगकर्ता द्वारा चुनी गई फ़ाइलों के लिए कार्रवाई करता है।उपयोगकर्ताफॉर्म ट्रिगर नहीं कर रहा है ईवेंट को प्रारंभ या सक्रिय करें

मेरी वर्कशीट में बटन के लिए

तो, मैं सौंपा है मैक्रो

Private Sub Button2_Click() 

    Load MyForm 

    MyForm.Show 

End Sub 

पहले तो मुझे मॉड्यूल जहाँ मेरे मैक्रो उप है there.Since यह काम नहीं कर रहा में नीचे दिए गए कोड रखा, मैं सही क्लिक किया निम्नलिखित उपयोगकर्ता प्रपत्र और चयनित दृश्य कोड पर और नीचे दिए गए कोड को रखा गया है। लेकिन फिर भी यह वही स्थैतिक डिज़ाइन किया गया उपयोगकर्ता फ़ॉर्म दिखा रहा है, गतिशील नहीं। मैंने लोड लोड माईफॉर्म और MYFOR दोनों पर ब्रेकपॉइंट रखा। शो() और मैंने कोड के माध्यम से कदम रखा। यह कभी नहीं intialize या सक्रिय विधि में चला गया।

Private Sub MyForm_Activate() 
    'for checking the whether this method is called or not I am trying to change caption 
    MyForm.LabelSelectFile.Caption = "dhfdfldkfldzjf;zdfkz;d" 

    Dim mymyWorkBook As Workbook 
    For Each mymyWorkBook In Workbooks 
    'code for creating checkbox based on the file name displayed by the workbook collection  
    Next mymyWorkBook 
End Sub 

क्यों कि घटना मेरी मदद triggered.Please पहले से this.Thanks काबू पाने के लिए नहीं मिल रहा है मैं नहीं समझ सकता

उत्तर

11

हालांकि फार्म के नाम MyForm है, तब भी आप userform उपयोग करने की आवश्यकता ।

'~~> in your worksheet 
Private Sub Button2_Click() 
    MyForm.Show 
End Sub 

'~~> In the userform code area 
Private Sub UserForm_Initialize() 
    '~~> Your code here 
End Sub 

या

Private Sub UserForm_Activate() 

End Sub 

सबसे अच्छा हमेशा ड्रॉप डाउन से घटना को चुनने के लिए, बल्कि टाइपिंग यह

enter image description here

+0

धन्यवाद की तुलना में है, मैं मैक्रो को पूरा करने में सक्षम था। मैंने कल केवल यूजरफॉर्म लिखना शुरू कर दिया, और मुझे नहीं पता था कि नाम हमेशा उपयोगकर्ताफॉर्म होना चाहिए। बटन के लिए हैंडलर बटन 1_Click() पर क्लिक करें, मैंने सोचा कि यह प्रारंभिक ई के लिए लागू होगा वेंट। मजेदार, गतिशील रूप से चेकबॉक्स उत्पन्न करने के लिए कोडिंग और उनसे पढ़ने से इस ग्रिप पर काबू पाने से कम समय लगता है। – saiki4116

+1

खुशी है कि यह सब आपके लिए काम किया :) –

संबंधित मुद्दे