PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] مرتب سازی Combobox بر اساس حروف الفبا و جلوگیری از جابجایی بین شیت ها در هنگام باز بودن UserForm



a.dal65
2016/02/24, 11:35
سلام
دوستان اطلاعات کمبوباکس ( نام و نام خانوادگی)من از یه شیت دیگه فراخوانی میشه
میخوام در هنگام فراخوانی بر اساس حروف الفبا خودش مرتب بشه (حروف الفبا فارسی)
و
چطور میشه در هنگامی که UserForm باز هستش کاربر نتونه بین شیت ها دیگه بره

Ali Parsaei
2016/02/24, 13:50
سلام،
در مورد سوال دوم:
خصوصيت showmodal فرم را اگر روي true قرار دهيد ديگر در موقع باز بودن فرم دسترسي به شيت غير ممکن مي شود، ولي اگر false باشد در عين حال که فرم باز است به شيتها هم مي توانيد دسترسي داشته باشيد. پيش فرض آن true است.

a.dal65
2016/02/28, 13:41
مشکل مرتب سازی با کد زیر حل شد :
خدمت دوستان عزیز

For Each cell In ThisWorkbook.Sheets("NameManager").Range("NameNameManagerList")
Me.ComboBox1.AddItem cell
Next cell
On Error Resume Next
With Me.ComboBox1
For X = LBound(.List) To UBound(.List)
For Y = X To UBound(.List)
If .List(Y, 0) < .List(X, 0) Then
blah = .List(Y, 0)
.List(Y, 0) = .List(X, 0)
.List(X, 0) = blah
End If
Next Y
Next X
End With
که باید در UserForm_Initialize قرار بگیره تا هنگام باز شدن userform خودش مرتب کنه
کد بالا برای حروف فارسی و انگلیسی هم کار میکنه

اگر کسی برای بزرگ به کوچک اعداد خواست از کد زیر میتونه استفاده کنه:


With Me.cmbList

For x = LBound(.List) To UBound(.List)
For y = x To UBound(.List)
If .List(y, 0) + 0 < .List(x, 0) + 0 Then
blah = .List(y, 0)
.List(y, 0) = .List(x, 0)
.List(x, 0) = blah
End If
Next y
Next x

End With