مرتب سازی Combobox بر اساس حروف الفبا و جلوگیری از جابجایی بین شیت ها در هنگام باز بودن UserForm

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • a.dal65

    • 2011/04/29
    • 384
    • 67.00

    [حل شده] مرتب سازی Combobox بر اساس حروف الفبا و جلوگیری از جابجایی بین شیت ها در هنگام باز بودن UserForm

    سلام
    دوستان اطلاعات کمبوباکس ( نام و نام خانوادگی)من از یه شیت دیگه فراخوانی میشه
    میخوام در هنگام فراخوانی بر اساس حروف الفبا خودش مرتب بشه (حروف الفبا فارسی)
    و
    چطور میشه در هنگامی که UserForm باز هستش کاربر نتونه بین شیت ها دیگه بره
    فایل های پیوست شده
  • Ali Parsaei
    مدير تالارتوابع اکسل

    • 2013/11/18
    • 1522
    • 71.67

    #2
    سلام،
    در مورد سوال دوم:
    خصوصيت showmodal فرم را اگر روي true قرار دهيد ديگر در موقع باز بودن فرم دسترسي به شيت غير ممکن مي شود، ولي اگر false باشد در عين حال که فرم باز است به شيتها هم مي توانيد دسترسي داشته باشيد. پيش فرض آن true است.
    [SIGPIC][/SIGPIC]

    کامنت

    • a.dal65

      • 2011/04/29
      • 384
      • 67.00

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

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

      کد PHP:
      With Me.cmbList
          
          
      For LBound(.List) To UBound(.List)
              For 
      x To UBound(.List)
                  If .List(
      y0) + < .List(x0) + 0 Then
                      blah 
      = .List(y0)
                      .List(
      y0) = .List(x0)
                      .List(
      x0) = blah
                  End 
      If
              
      Next y
          Next x

      End With 

      کامنت

      چند لحظه..