مرحوم محمد محمدی

🖤 پیام تسلیت

با نهایت تأسف و تأثر، باخبر شدیم جناب آقای محمد محمدی با نام کاربری smartman ، از مدیران ارزشمند انجمن اکسل ایران، دار فانی را وداع گفته‌اند.

ایشان سال‌ها با دانش، تجربه، اخلاق نیکو و روحیه کمک به دیگران، سهم بزرگی در رشد و پویایی انجمن داشتند و خاطره حضور ارزشمندشان همواره در ذهن اعضای انجمن باقی خواهد ماند.

مدیریت و اعضای انجمن ExcelIran این ضایعه را به خانواده محترم ایشان، دوستان و تمامی اعضای انجمن تسلیت عرض نموده و از خداوند متعال برای آن مرحوم، رحمت و مغفرت الهی و برای بازماندگان صبر و شکیبایی مسئلت دارند.


انا لله و انا الیه راجعون

ایجاد حلقه برای چندین combobox در vba

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

    • 2017/07/22
    • 6
    • 32.00

    [حل شده] ایجاد حلقه برای چندین combobox در vba

    روز بخیر
    با کد زیر اطلاعات رو در کامبوباکس یوزر فورم فراخوانی میکنم:

    کد:
        Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim v, e
    With Sheets("Sheet1").Range("C2:C200")
        v = .Value
    End With
    With CreateObject("scripting.dictionary")
        .comparemode = 1
        For Each e In v
            If Not .exists(e) Then .Add e, Nothing
        Next
        If .Count Then ComboBox1.List = Application.Transpose(.keys)
           End With
    
    
    End Sub
    
    
    Private Sub UserForm_Initialize()
    Dim v, e
    With Sheets("Sheet1").Range("C2:C200")
        v = .Value
    End With
    With CreateObject("scripting.dictionary")
        .comparemode = 1
        For Each e In v
            If Not .exists(e) Then .Add e, Nothing
        Next
        If .Count Then ComboBox1.List = Application.Transpose(.keys)
           End With
    
    
    End Sub

    با توجه به این که تعداد 64 کامبوباکس در یوزر فرم وجود داره، میخواستم اگر ممکنه راهنمایی کنید چطوری حلقه ایجاد کنم که تعداد کد ها زیاد نشه
    ممنونم
  • 5244

    • 2017/07/22
    • 6
    • 32.00

    #2
    نوشته اصلی توسط 5244
    روز بخیر
    با کد زیر اطلاعات رو در کامبوباکس یوزر فورم فراخوانی میکنم:

    کد:
        Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim v, e
    With Sheets("Sheet1").Range("C2:C200")
        v = .Value
    End With
    With CreateObject("scripting.dictionary")
        .comparemode = 1
        For Each e In v
            If Not .exists(e) Then .Add e, Nothing
        Next
        If .Count Then ComboBox1.List = Application.Transpose(.keys)
           End With
    
    
    End Sub
    
    
    Private Sub UserForm_Initialize()
    Dim v, e
    With Sheets("Sheet1").Range("C2:C200")
        v = .Value
    End With
    With CreateObject("scripting.dictionary")
        .comparemode = 1
        For Each e In v
            If Not .exists(e) Then .Add e, Nothing
        Next
        If .Count Then ComboBox1.List = Application.Transpose(.keys)
           End With
    
    
    End Sub

    با توجه به این که تعداد 64 کامبوباکس در یوزر فرم وجود داره، میخواستم اگر ممکنه راهنمایی کنید چطوری حلقه ایجاد کنم که تعداد کد ها زیاد نشه
    ممنونم







    با استفاده از کد زیر مشکل برطرف شد


    کد PHP:

    Private Sub UserForm_Initialize()
    Dim cFor Each c In Sheet1.Range("c2:c200")If c.Value <> "" Then    Dim i As Integer     For 14 To 56     Controls("ComboBox" i).AddItem c.Value     Next i     End If
    Next
     
    End Sub 

    کامنت

    چند لحظه..