تاخير در بارگذاري يوزرفرم

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

    • 2018/01/29
    • 8

    [حل شده] تاخير در بارگذاري يوزرفرم

    با سلام
    1- يه فرمي دارم که شامل تعداد زيادي تکست باکس و چک باکسه ، وقتي اين فرم initialize يا بارگذاري ميشه مقدار هر تکست باکس و چک باکسشو از سلول يا سل مربوط به خود در شيت اکسل ميگيره، اگه براي تکست باکس رويدادهاي از قبيل Change و ... يا يراي چک باکس رويدادهاي از قبيل Click و Enter، کد نوشته باشم هنگام initialize شدن اين رويدادها نيز فعال ميشوند و همين امر باعث کندشدن بارگذاري يوزرفرم ميشود آيا راهي وجود داره که بشه کنترلهاي يوزرفرم رو حين بارگذاري مديريت کرد طوري که اين رويدادها رو بشه فعال يا غيرفعال کرد و يا بعبارت ديگر فرم سريعتر باز شود بدون تاخير.
  • Amir Ghasemiyan

    • 2013/09/20
    • 4598
    • 100.00

    #2
    نوشته اصلی توسط مهردادخان
    با سلام
    1- يه فرمي دارم که شامل تعداد زيادي تکست باکس و چک باکسه ، وقتي اين فرم initialize يا بارگذاري ميشه مقدار هر تکست باکس و چک باکسشو از سلول يا سل مربوط به خود در شيت اکسل ميگيره، اگه براي تکست باکس رويدادهاي از قبيل Change و ... يا يراي چک باکس رويدادهاي از قبيل Click و Enter، کد نوشته باشم هنگام initialize شدن اين رويدادها نيز فعال ميشوند و همين امر باعث کندشدن بارگذاري يوزرفرم ميشود آيا راهي وجود داره که بشه کنترلهاي يوزرفرم رو حين بارگذاري مديريت کرد طوري که اين رويدادها رو بشه فعال يا غيرفعال کرد و يا بعبارت ديگر فرم سريعتر باز شود بدون تاخير.

    سلام دوست عزيز
    يك راهي كه پيدا كردم اينه كه شما يك متغير عمومي تعريف كنيد و در هر ايونت بسته به شرايطتون اون رو تغيير بدين.
    Disabling Events of a UserForm

    به اين مثال توجه كنيد:

    کد:
    Dim EnableEvents As Boolean
    
    
    Private Sub TextBox1_Change()
    If Not EnableEvents Then Exit Sub
    TextBox1.Value = Range("B1")
    End Sub
    
    
    Private Sub UserForm_Initialize()
    EnableEvents = False
    TextBox1.Value = Range("A1")
    End Sub

    کامنت

    • مهردادخان

      • 2018/01/29
      • 8

      #3
      با سلام
      ممنون از پاسخ شما
      فقط بايد کد زير
      EnableEvents = True
      را به انتهاي
      ()Private Sub UserForm_Initialize
      اضافه نمود.

      کامنت

      چند لحظه..