Page 1 of 1

กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Sun Mar 08, 2015 4:03 am
by yodpao.b
Capture5.PNG
กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ
จัดรูปแบบใน excel แล้วครับ แต่ตอนโชว์ไม่ยอมโชว์ 2 ต่ำแหน่ง และ
ถ้าเลือกค่าเสร็จแล้วค่าที่ได้จะออกมา 2 ตำแหน่ง ดังรูปล่างครับ
Capture6.PNG
จุดประสงต์คือในรูปแรกตอน list รายการออกมาต้องการให้โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Code: Select all

Private Sub ComboBox4_Change()
ComboBox4 = Format(ComboBox4.Value, "0.00")
End Sub

Re: กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Sun Mar 08, 2015 8:31 am
by snasui
:D ปรับให้เป็น 2 ตำแหน่งที่ต้นแหล่งก่อนที่จะนำเข้า หรือปรับให้เป็น 2 ตำแหน่งในขณะนำเข้าซึ่งต้อง Loop เข้ามา แทนใช้ RowSource ครับ

Re: กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Sun Mar 08, 2015 3:21 pm
by yodpao.b
Capture3.PNG
จากรูป ที่แหล่งต้นทางปรับเป็น 2 ต่ำแหน่ง ครับ แต่ผลที่ได้เป็นเหมือนเดิมครับ


จากรูป ลองใส่ Code ดู ผลก็เหมือนเดิมครับ

Code: Select all

Range("H3").Select
Do While Not IsEmpty(ActiveCell.Value)
        ComboBox4.AddItem ActiveCell.Value
    ActiveCell.Offset(1, 0).Select
    ComboBox4.Text = Format(ComboBox4.Text, "0.00")
Loop

code อยู่ใน Private Sub UserForm_Initialize()

ไฟล์แนบ

รบกวนอาจารย์ช่วยดูหน่อยครับ

Re: กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Sun Mar 08, 2015 3:28 pm
by snasui
:D ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Range("H3").Select
Do While Not IsEmpty(ActiveCell.Value)
    ComboBox4.AddItem Format(ActiveCell.Value, "0.00")
    ActiveCell.Offset(1, 0).Select
    'ComboBox4.Text = Format(ComboBox4.Text, "0.00")
Loop

Re: กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Sun Mar 08, 2015 3:33 pm
by yodpao.b
ขอบคุณครับอาจารย์

Re: กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Sun Mar 08, 2015 4:38 pm
by yodpao.b
เรียนอาจารย์ครับ และถ้าเป็น code นี้ละครับ
จะแก้ไขให้มี หลักพันได้ตรงไหนครับ

Code: Select all

Sheets("DATA0").Select
Range("J3").Select
MyComboBox2Initial = ActiveCell.Value
MyComboBox2 = ActiveCell.Value
ComboBox2.AddItem MyComboBox2
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell.Value)
    If MyComboBox2 <> ActiveCell.Value Then
        MyComboBox2 = ActiveCell.Value
        ComboBox2.AddItem MyComboBox2
    End If
    ActiveCell.Offset(1, 0).Select
    Loop
ผมลองเปลี่ยน Code แต่ก็ใช้ไม่ได้ Codeดังนี้

Code: Select all

Sheets("DATA0").Select
Range("J3").Select
MyComboBox2Initial = ActiveCell.Value
MyComboBox2 = ActiveCell.Value
ComboBox2.AddItem MyComboBox2
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell.Value)
    If MyComboBox2 <> ActiveCell.Value Then
        MyComboBox2 = ActiveCell.Value
        ComboBox2.AddItem MyComboBox2
        ComboBox2.AddItem Format(ActiveCell.Value, "#,###")  
    End If
    ActiveCell.Offset(1, 0).Select
    Loop
code ที่เพิ่มอยู่บรรทัดที่ 11 ครับ

Re: กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Sun Mar 08, 2015 6:36 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

จาก Code

Code: Select all

MyComboBox2 = ActiveCell.Value
ComboBox2.AddItem MyComboBox2
ปรับเป็น

Code: Select all

MyComboBox2 = Format(ActiveCell.Value,"#,##0")
ComboBox2.AddItem MyComboBox2
หรือปรับให้เหลือเพียง

Code: Select all

MyComboBox2.AddItem = Format(ActiveCell.Value,"#,##0")
มีกี่บรรทัดที่เป็นการ AddItem ก็ปรับให้หมดครับ

Re: กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Sun Mar 08, 2015 10:35 pm
by yodpao.b
จาการแก้ไข code คังต่อไปนี้

Code: Select all

Sheets("DATA0").Select
Range("J3").Select
'MyComboBox2Initial = ActiveCell.Value
MyComboBox2Initial = Format(ActiveCell.Value, "#,##0")   'เพิ่ม code
'MyComboBox2 = ActiveCell.Value
MyComboBox2 = Format(ActiveCell.Value, "#,##0")   'เพิ่ม code
ComboBox2.AddItem MyComboBox2
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell.Value)
    If MyComboBox2 <> ActiveCell.Value Then
        'MyComboBox2 = ActiveCell.Value
        MyComboBox2 = Format(ActiveCell.Value, "#,##0")   'เพิ่ม code
        ComboBox2.AddItem MyComboBox2
    End If
    ActiveCell.Offset(1, 0).Select
    Loop
ได้ผลดังรูปด้านล่าง
ซึงข้อมูลใน List มีซำ้กันครับ ความต้องการคือต้องไม่ซ้ำกันครับ
Capture2.PNG


ส่วนรูปด้านล่างนี้ถูกต้องครับ ใน List ไม่ซ้ำกันครับ แต่ไม่มีหลักพันครับ

code ด้านบน ไม่แน่ใจว่าผม แก้ไขถูกต้องไหมมันถึงได้มีซ้ำกัน

Re: กล่อง ComboBox ไม่โชว์ค่า ทศนิยม 2 ต่ำแหน่งครับ

Posted: Mon Mar 09, 2015 12:49 am
by yodpao.b
คำถามด้านบน ยกเลิกครับ ผมใช้วิธีการ ใช้ตัวกรองข้อมูลให้ค่าออกมาไม่ซ้ำกันใน Excel แทนการใช้ Code ครับ
ขอบคุณมากครับ