Page 1 of 1

VBA additem ใน Range

Posted: Wed Aug 07, 2019 9:31 pm
by akekorn
สวัสดีครับ เพื่อนสมาชิกทุกท่าน
วันนี้ผมมีปัญหา รบกวนครับคือผมเขียน VBA เพิ่มข้อมูลเข้า combobox จาก range แต่มี error หา object ไม่พบ
รบกวนขอความช่วยเหลือด้วยครับ
โดยผมได้แนบ file มาด้วย
และ ฺVBA ที่เขียนมาด้วยครับ
ขอบคุณครับผม

Code: Select all

Sub TESTADDITEM()
ROW_REV = 1
Dim SHEETSS As Worksheet
Set SHEETSS = Sheets("DATA")
ComboBox1.Clear

Do
DoEvents
ROW_REV = ROW_REV + 1
ITEM_REVIEW = SHEETSS.Range("A" & ROW_REV)
    If Len(ITEM_REVIEW) > 0 Then ComboBox1.AddItem (ITEM_REVIEW)
Loop Until ITEM_REVIEW = ""
ComboBox1.ListIndex = 0
End Sub

Re: VBA additem ใน Range

Posted: Wed Aug 07, 2019 9:49 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Sub TESTADDITEM()
'ROW_REV = 1
    Dim SHEETSS As Worksheet
    Set SHEETSS = Sheets("DATA")
    SHEETSS.OLEObjects(1).ListFillRange = ""
    Do
        DoEvents
        ROW_REV = ROW_REV + 1
        ITEM_REVIEW = SHEETSS.Range("A" & ROW_REV).Value
        If Len(ITEM_REVIEW) > 0 Then SHEETSS.OLEObjects(1).Object.AddItem ITEM_REVIEW
    Loop Until ITEM_REVIEW = ""
    SHEETSS.OLEObjects(1).Object.ListIndex = 0
End Sub

Re: VBA additem ใน Range

Posted: Wed Aug 07, 2019 10:09 pm
by akekorn
ทำได้แล้วครับ
ขอบคุณครับผม

Re: VBA additem ใน Range

Posted: Fri Aug 09, 2019 8:34 pm
by akekorn
รบกวนอีกนิดครับผม
พอดีผมลอง แยก code ออกมาจะ clear combobox โดยใช้คำสั่ง

Sub clear()

Dim SHEETSS As Worksheet
Set SHEETSS = Sheets("DATA")
SHEETSS.OLEObjects(1).ListFillRange = ""
' SHEETSS.OLEObjects(1).Clear

end sub

สองแบบนี้ไม่สามารถ clear ข้อความได้ครับ
ขอความอนุเคราะห์ว่าผมควรจะแก้ไขอย่างไรครับผม

ขอบคุณครับ

Re: VBA additem ใน Range

Posted: Fri Aug 09, 2019 9:30 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Sub TestClear()
    Dim SHEETSS As Worksheet
    Set SHEETSS = Sheets("DATA")
    SHEETSS.OLEObjects(1).Object.clear
End Sub

Re: VBA additem ใน Range

Posted: Fri Aug 09, 2019 9:48 pm
by akekorn
ขอบคุณครับผม