ขั้นตอน
1.แกล้งเลือกผิดโดย เลือก นางสาวศัลสนีย์ บัวชัย
แสดงผล คือ เลขประจำตัวของ นางสาวศัลสนีย์ ถูกต้อง
2.เลือกใหม่ โดย เลือก นางสาวธาริณี เปี่ยมพงศ์สานต์
แสดงผล คือ เลขประจำตัวของ นางสาวธาริณี ถูกต้อง
แต่จริงๆแล้วมันต้องไม่แสดงผลครับเพราะชื่อซ้ำ
คือต้องไม่แสดงผลตั้งแต่รายชื่อ ตรงแถบสีเหลืองต้องเป็นค่าว่างหลังจากขึ้น MsgBox ครับ
เพื่อให้เลขประจำต้วและcost เป็นค่าว่างครับ
ผมจึงเพิ่ม code ComboBox01.Text = ""
ผลที่ได้ เกือบถูกต้อง ผิดแต่มันขึ้น MsgBox สองคร้ง
แก้ไขอย่างไรดีครับ
เมื่อชื่อซ้ำหลังจากขึ้น MsgBox ตรงรายชื่อต้องว่าง

- Pic 1.JPG (61.68 KiB) Viewed 128 times
ด้านล่างคือ code ที่แก้ไข
Code: Select all
Private Sub ComboBox01_Change()
On Error Resume Next
Dim i As Integer
With Sheets("cal") ' ตรวจสอบค่าซ้ำกันใน ComboBox01
i = Application.CountIf(.Range("b3", .Range("b" & _
.Rows.Count).End(xlUp)), ComboBox01.Text)
If i > 0 Then
MsgBox "< มีชื่ออยู่ใน List แล้ว >"
ComboBox01.Text = ""
End If
End With
'Other code
Sheets("list_other").Select
Range("B2").Select
Do While True
If ActiveCell.Value = ComboBox01.Text Then
TextBox01.Text = ActiveCell.Offset(0, 1).Value
TextBox10.Text = ActiveCell.Offset(0, 2).Value
ComboBox09.Text = "ES05B0003014"
AddP.Enabled = True
Exit Sub
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub