Page 1 of 1

การใช้ if กับ Listbox

Posted: Tue May 19, 2020 5:33 am
by yodpao.b
ความต้องการคือ ให้ code ไม่ทำงาน ถ้าไม่ได้เลือกรายการใน Listbox
เมื่อยังไม่ได้เลือกข้อความใน Listbox(เกิดแถบสีน้ำเงิน) จะไม่สามารถ Run code ต่อได้

Code: Select all

    If ListBox1 <> "" Then

        MsgBox "ท่านต้อง้เลือกรายการใน List box ก่อน", vbOKOnly + vbInformation, "เพื่มข้อมูลในใบคืนเครื่องมือ"
        Exit Sub
    End If

จาก code ด้านบน มันไม่ยอม Exit Sub ครับ

Re: การใช้ if กับ Listbox

Posted: Tue May 19, 2020 5:51 am
by yodpao.b
คำตอบ คือ If ListBox1.ListIndex = -1 Then

คำถาม ทำไม ต้องเป็น -1 ครับ ผมลองใช้ 0 คำตอบ ไม่ถูกต้องครับ

Re: การใช้ if กับ Listbox

Posted: Tue May 19, 2020 7:08 am
by snasui
yodpao.b wrote: Tue May 19, 2020 5:51 am คำถาม ทำไม ต้องเป็น -1 ครับ ผมลองใช้ 0 คำตอบ ไม่ถูกต้องครับ
:D ค่าเป็น 0 คือรายการแรกของ ListBox ถูกเลือก ถ้าค่าเป็น -1 คือไม่มีการเลือกรายการใด ๆ

เป็นค่าที่ถูกสร้างมาโดยผู้พัฒนาภาษา VB รวมถึง VBA ว่าให้มีความหมายเชนนี้ครับ

Re: การใช้ if กับ Listbox

Posted: Tue May 19, 2020 12:05 pm
by yodpao.b
ขอบคุณครับ ค่อยมั่นใจหน่อย

น้องที่ทำงานแนะนำให้ใช้ .Select นัอยที่สุด การทำงานจะไว้ขึ้น

Re: การใช้ if กับ Listbox

Posted: Tue May 19, 2020 3:27 pm
by yodpao.b
ค่าเป็น 0 คือรายการแรกของ ListBox ถูกเลือก ถ้าค่าเป็น -1 คือไม่มีการเลือกรายการใด ๆ
เป็นค่าที่ถูกสร้างมาโดยผู้พัฒนาภาษา VB รวมถึง VBA ว่าให้มีความหมายเชนนี้ครับ

ผมเจอข้อแตกต่างของคำถามแล้วครับ

และก็แสดงผลให้เห็นแล้วครับ