ต้องการ AddItem แต่ใช้คำสั่งอ้างอิง object ไม่ถูกครับ
Posted: Thu Jun 03, 2010 12:00 pm
สวัสดีครับ มีข้อสงสัยรบกวนผู้รู้ช่วยแนะนำหน่อยนะครับ คือมีปัญหาเรื่องการ addItem เข้า combo box น่ะครับ เนื่องจากผมได้สร้าง sub สำหรับ check ว่า object ภายใน worksheet เป็น combo box หรือเปล่า ถ้าหากเป็นชนิด combo box ให้ทำการ addItem ซึ่งผม code ดังนี้ครับ (Object ที่เป็นชนิด combo ผมตั้งชื่อขึ้นต้นด้วยคำว่า "combo" ไว้แล้วครับ)
Sub chkCombo()
dim numObj, k as integer
dim objName as String
numObj = Sheets("dataSheet").Shapes.Count
For k = 1 To numObj
If "*" & UCase(Left(Trim(Sheets("dataSheet").Shapes(k).Name), 5)) & "*" like "combo" Then
objName = Sheets("dataSheet").Shapes(k).Name
Sheets("dataSheet").objName.AddItem "Testing" & k & "time" <=== Error
Exit For
End If
next k
ซึ่งผลการ run คำสั่งดังกล่าวเกิด Error เตือนว่า "Object doesn't support this property of method" ตรงบรรทัด <===Error ครับ ตามความเข้าใจของผมคือ objName เป็นชนิด String แต่การอ้างอิงต้องเป็นชนิด Object
จึงอยากรบกวนผู้รู้ช่วยแนะนำหน่อยนะครับว่าควรจะอ้างอิงอย่างไรหรือใช้คำสั่งอย่างไรถึงจะสามารถ addItem เข้า combo box ได้ครับ หรือการแปลงจากชนิด String เป็นชนิด Object เป็นอย่างไร รบกวนผู้รู้แนะแนวทางผมหน่อยนะครับ
Sub chkCombo()
dim numObj, k as integer
dim objName as String
numObj = Sheets("dataSheet").Shapes.Count
For k = 1 To numObj
If "*" & UCase(Left(Trim(Sheets("dataSheet").Shapes(k).Name), 5)) & "*" like "combo" Then
objName = Sheets("dataSheet").Shapes(k).Name
Sheets("dataSheet").objName.AddItem "Testing" & k & "time" <=== Error
Exit For
End If
next k
ซึ่งผลการ run คำสั่งดังกล่าวเกิด Error เตือนว่า "Object doesn't support this property of method" ตรงบรรทัด <===Error ครับ ตามความเข้าใจของผมคือ objName เป็นชนิด String แต่การอ้างอิงต้องเป็นชนิด Object
จึงอยากรบกวนผู้รู้ช่วยแนะนำหน่อยนะครับว่าควรจะอ้างอิงอย่างไรหรือใช้คำสั่งอย่างไรถึงจะสามารถ addItem เข้า combo box ได้ครับ หรือการแปลงจากชนิด String เป็นชนิด Object เป็นอย่างไร รบกวนผู้รู้แนะแนวทางผมหน่อยนะครับ