PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ورود مستقيم آيتم ها به rowsource کمبو باکس



Ali Parsaei
2014/07/01, 13:18
سلام،
مي خواستم بدونم مي شود در يک combobox به جاي اينکه قسمت rowsource آن را به يک محدوده ارجاع دهيم که آيتم هاي دلخواه را از آنجا بخواند مستقيما" آيتم ها را در همان rowsource وارد کنيم؟
اگر مي شود چطور بايد آنها را بنويسيم؟ (مثلا" نوشته را بايد با = شروع کنيم؟ يا بين آيتم ها را با "," جدا کنيم؟ يا آيتم ها را بايد داخل کروشه بگذاريم؟ يا ...؟)

mokaram
2014/07/01, 13:58
علی جان کدهای زیر را تو ایونت مربوطه بنویس فکر کنم مشکلت حل بشه
توضیح : یه کمبو باکس تو فرم ایجاد کن بعد کنارش یه باتون هم بزار هر اطلاعاتی که می خوای تو کمبو بنویس بعد باتون را بزن اطلاعات تو کمبو ذخیره میشه

Private Sub ComboBox1_Enter()
If UserForm1.ComboBox1.ListCount = 0 Then
UserForm1.ComboBox1.AddItem ""
End If
For i = UserForm1.ComboBox1.ListCount - 1 To 50
If Sheet1.Range("a1").Offset(0, i).Value <> "" Then
UserForm1.ComboBox1.AddItem (Sheet1.Range("a1").Offset(0, i).Value)
Else
i = 51
End If
Next i
End Sub


Private Sub CommandButton1_Click()
for i=0 to 10
If Sheet1.Range("a1").Offset(0, i).Value = "" Then
Sheet1.Range("a1").Offset(0, i).Value = UserForm1.ComboBox1.Value
i = 11
End If
Next i
End Sub

Ali Parsaei
2014/07/01, 14:31
آقا دستت درد نکند،
با راهنمايي شما مشکل حل شد، البته آيتم هاي مورد نظر من محدود بود به چند سال (1390 تا 1393) بنابراين با استفاده از همان کد مربوط به ADDITEM کمبوباکس که راهنمايي نموده بوديد همين چند مورد را در رويداد INITIALIZE خود فرم گذاشتم و خود به خود با اجراي فرم آيتم هاي مورد نظر هم داخل کمبوباکس لحاظ مي گردد:

Private Sub UserForm_INITIALIZE()
UserForm1.ComboBox1.AddItem "1390"
UserForm1.ComboBox1.AddItem "1391"
UserForm1.ComboBox1.AddItem "1392"
UserForm1.ComboBox1.AddItem "1393"
End Sub