Page 1 of 1

VBA USERFORM : Cobobox แสดงค่าเหมือนกันเพียงค่าเดียว

Posted: Wed Jan 20, 2016 10:59 am
by Pongwipat
รบกวนสอบถามอาจารย์ครับ ข้อมูลใน combobox ที่เหมือนกันให้แสดงเพียงค่าเดียวครับ
ตัวอย่าง ใน Sheet 1 column A มี ข้อมูลดังนี้ครับ 1,1,2,2,3,3,4,5,5,6,7,7,7,8 ถ้าต้องการให้ใน combobox1 แสดงข้อมูล 1,2,3,4,5,6,7,8 อยู่ใน UserForm_Initialize

Code: Select all

Private Sub UserForm_Initialize()
Dim LastRow As Integer
LastRow = Sheets("Sheet1").Cells(Cells.Rows.Count, "A").End(xlUp).Row
Me.ComboBox1.RowSource = "=Sheet1!A2:A" & LastRow
End Sub

Re: VBA USERFORM : Cobobox แสดงค่าเหมือนกันเพียงค่าเดียว

Posted: Wed Jan 20, 2016 3:54 pm
by DhitiBank
ลองแบบนี้ครับ อาจใช้ remove duplicates หรือ collection มาช่วยก็ได้ ในที่นี้ผมเลือกใช้ collection เพราะใช้บ่อย :)

Code: Select all

Private Sub UserForm_Initialize()
    Dim LastRow As Integer, i As Integer, _
        r As Range, rRng As Range, _
        cChoice As New Collection
    With Sheets("sheet1")
        LastRow = .Cells(Cells.Rows.Count, "A").End(xlUp).Row
        Set rRng = .Range("a2:a" & LastRow)
        On Error Resume Next
        For Each r In rRng
            cChoice.Add CStr(r.Value), CStr(r.Value)
        Next r
        On Error GoTo 0
    End With
    For i = 1 To cChoice.Count
        Me.ComboBox1.AddItem cChoice.Item(i)
    Next i
End Sub

Re: VBA USERFORM : Cobobox แสดงค่าเหมือนกันเพียงค่าเดียว

Posted: Thu Jan 21, 2016 11:13 am
by Pongwipat
ขอบคุณมากครับ