2010-11-18 13 views
10

कार्यपत्रक sheet1 में एंबेडेड मैं एक प्रपत्र नियंत्रण कॉम्बो बॉक्स combobox_test नामित है और यह है कि के अलावा मूल्य xएक्सेल-VBA: फार्म से मान रही नियंत्रित करता है

का चयन किया है, मैं भी एक बटन है कि जब embbeded है मैं इसे दबाता हूं, मैं चाहता हूं कि यह combobox_test का मान ले और इसे something.Rows(y) में रखें। लेकिन मैं इसे काम नहीं कर सकता और थोड़ा निराश हो रहा हूं। शायद आप मुझे सही दिशा में इंगित कर सकते हैं

Sub ButtonPressed_sample() 
    Dim value As String 

    Set putItRng = Range("theCells")   
    putItRng.Rows(1) = ActiveSheet.Shapes("combobox_test").Value   
End Sub 

कोई सलाह? वीबीए में एक पूर्ण शुरुआत करने वाला हूं, इसलिए कृपया जितना विस्तृत हो सके उतना विस्तृत हो। धन्यवाद

+0

आप क्या त्रुटि मिलता है? – Panicos

+0

रन-टाइम त्रुटि '438'। ऑब्जेक्ट इस प्रॉपर्टी या विधि का समर्थन नहीं करता है ... और यह लाइन 'putItRng.Rows (1) = ActiveSheet.Shapes ("combobox_test") दिखाता है। वैल्यू – Carlos

उत्तर

6

नाम पर है नहीं मुझे यकीन है कि यह तुम क्या चाहते है नहीं कर रहा हूँ, लेकिन यह एक शुरुआत है। आकार ऑब्जेक्ट में वैल्यू प्रॉपर्टी नहीं है, जो त्रुटि का स्रोत है। एक ड्रॉपडाउन ऑब्जेक्ट है जिसे बहिष्कृत किया गया है, लेकिन अभी भी उपलब्ध है।

Sub ButtonPressed_sample() 

    Set putitrng = Range("theCells") 
    putitrng.Rows(1) = ActiveSheet.DropDowns("combobox_test").value 

End Sub 
+3

नोट, ड्रॉपडाउन (और कॉम्बोबॉक्स, बटन, इत्यादि) को बहिष्कृत कर दिया गया है क्योंकि यदि आप कई आकारों को एक साथ समूहित करना चुनते हैं, तो समूह में नियंत्रण उन संग्रह वस्तुओं में प्रकट नहीं होते हैं। तो मुझे लगता है कि यह टिप्पणी सिर्फ एक चेतावनी है कि आप इस विधि का उपयोग कर रहे हैं (जिसे मैं स्वयं भी उपयोग करता हूं) का उपयोग कर रहा हूं :) – Alain

1
putItRng.Rows(1)= ActiveSheet.combobox_test.value 

प्रयास करें:

activesheet.cells(1,putItRng.column).value=activesheet.combobox_test.value 

यह तो काम does not यदि आपका बता गया "Combobox_test"

+0

यह अभी भी वही त्रुटि देता है हालांकि – Carlos

+0

आपको ActiveWorkbook द्वारा संदर्भित करना होगा एक्टिवशीट ('कई कार्यपुस्तिकाओं का कारण प्रत्येक में एक एक्टिवशीट होता है)। पंक्तियां (1) आपको पंक्ति 1 में सभी कॉलम की पूरी श्रृंखला देता है ... इस पर चरण-दर-चरण जाएं। दो Msgbox का उपयोग करके समस्या का वास्तविक स्रोत खोजने का प्रयास करें, एक बाईं ओर के लिए, दूसरा उपरोक्त सुझाए गए असाइनमेंट के दाईं ओर के लिए। यह बेहतर होगा कि क्या बात है। मैं अनुमान लगा रहा हूं कि आपका ऑब्जेक्ट नामकरण गलत है। – jpinto3912

8
Sub QuickSelect_Change() 
     With ActiveSheet.Shapes("QuickBox") 
      MsgBox "My Selected Value " & .ControlFormat.List(.ControlFormat.ListIndex) 
     End With 
    End Sub 
3
ActiveSheet.Shapes("combobox_test").ControlFormat.ListIndex 
+0

हालांकि यह सवाल का जवाब दे सकता है, यह बेहतर होगा यह समझाने के लिए कि यह सही समाधान क्यों है। –

+0

सबसे ज्यादा मतदान किया गया उत्तर ड्रॉपडाउन संग्रह का संदर्भ देता है, लेकिन एलन ने उल्लेख किया कि यह बहिष्कृत किया गया था क्योंकि "यदि आप कई आकारों को एक साथ समूहित करना चुनते हैं, तो समूह में नियंत्रण उन संग्रह वस्तुओं में प्रकट नहीं होता है"। आकार संग्रह एक कंबोबॉक्स फॉर्म नियंत्रण का संदर्भ देने का एक और माध्यम है, लेकिन कार्लोस पोस्ट मेरे लिए काम नहीं करता है। – rdg515

+0

मैंने अभी 'ActiveSheet.Shapes ("combobox_test") का प्रयास किया। ControlFormat.Value' और पाया कि यह एक ही परिणाम मिला। कुछ परिदृश्यों को यह एक अधिक उचित कोडिंग शैली के रूप में मिल सकता है। –

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