Page 1 of 2

สอบถาม Listbox Use KeyPress

Posted: Tue Aug 07, 2018 3:49 pm
by Leng
:( ผมอยากทำแบบ link นี้ครับแต่พอทำตามแล้วขึ้น Error ทั้งที่โค๊ดก็ทำตามผมก็เช็คทุกอย่างตามเค้าแล้ว
แต่ก็ยังทำไม่สำเร็จรบกวนอาจารย์เพื่อนๆช่วยดูหน่อยครับ
https://www.youtube.com/watch?v=xAplx9LPmk4

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 07, 2018 7:21 pm
by snasui
:D กรุณาอธิบายมาพอสังเขปว่าต้องการจะทำอะไรเพื่อสะดวกในการค้นหาของเพื่อนสมาชิกครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Wed Aug 08, 2018 9:59 am
by Arm_anucha
ที่บรรทัดนี้เขียนชื่อ Sheeet1 เลยรันไม่ได้ครับลบ e ออกไป 1 ตัวก็สามารถใช้ได้แล้วครับ

Code: Select all

For i = 2 To Application.WorksheetFunction.CountA(Sheeet1.Range("A:A"))

Re: สอบถาม Listbox Use KeyPress

Posted: Wed Aug 08, 2018 10:13 am
by Leng
ผมได้แก้แล้วครับแต่ข้อมูลไม่ขึ้นครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Wed Aug 08, 2018 7:11 pm
by snasui
Leng wrote: Wed Aug 08, 2018 10:13 am ผมได้แก้แล้วครับแต่ข้อมูลไม่ขึ้นครับ
:D กรุณาทำตามโพสต์ด้านล่างนี้ด้วยครับ :ard:
snasui wrote: Tue Aug 07, 2018 7:21 pm
:D กรุณาอธิบายมาพอสังเขปว่าต้องการจะทำอะไรเพื่อสะดวกในการค้นหาของเพื่อนสมาชิกครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Wed Aug 08, 2018 7:21 pm
by Leng
สิ่งที่ต้องการครับ
- ผมต้องการ List สรุปข้อมูลครับ เช่นถ้าผม click ที่หมวดหมู่ Snaks ก็จะขึ้น ข้อมูล Snaks ทุกวัน ที่ลงข้อมูลไว้ทั้งหมดพร้อมผลรวมครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Wed Aug 08, 2018 8:38 pm
by snasui
:D ลบ Code ใน Module1 ทิ้งทั้งหมดครับ

ไปที่ UserForm1 แก้ไข UserForm1_Initialize เป็น UserForm_Initialize และ แก้ไข Worksheet.sheet("sheet1") เป็น Worksheets("sheet1") > Save แล้วเปิดไฟล์มาใหม่ > ทดสอบการทำงาน

Re: สอบถาม Listbox Use KeyPress

Posted: Wed Aug 08, 2018 10:21 pm
by Leng
ได้แล้วครับขอบพระคุณมากครับ :D :D

Re: สอบถาม Listbox Use KeyPress

Posted: Fri Aug 10, 2018 2:55 pm
by Leng

Code: Select all

Private Sub UserForm_Initialize()
Dim i As Long
For i = 4 To Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
a = Application.WorksheetFunction.CountIf(Sheet1.Range("D" & 4, "D" & i), _
Sheet1.Cells(i, 4))
If a = 1 Then
Me.ListBox1.AddItem Sheet1.Cells(i, 4)
End If
Next i
End Sub

Private Sub CommandButton1_Click()
Me.ListBox1.Clear
Call UserForm_Initialize
Me.CommandButton1.Enabled = False
End Sub

Private Sub ListBox1_Click()
Me.TextBox1 = Me.ListBox1.Column(0)
End Sub

Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim i As Long
Me.ListBox1.Clear
Me.ListBox1.AddItem
For x = 0 To 8
Me.ListBox1.List(0, x) = Sheet1.Cells(1, x + 1)
Next x

For i = 2 To Sheet1.Range("A1048576").End(xlUp).Row

If Sheet1.Cells(i, 2) = Me.TextBox1 Then
Me.ListBox1.AddItem
For c = 0 To 8
Me.ListBox1.List(ListBox1.ListCount - 1, c) = Sheet1.Cells(i, c + 1)
Next c
End If
Next i
For d = 1 To Me.ListBox1.ListCount - 1
Sum = Sum + Val(Me.ListBox1.List(h, 3))
Next d
Me.ListBox1.AddItem
Me.ListBox1.List(ListBox1.ListCount - 1, 2) = "Total Price"
Me.ListBox1.List(ListBox1.ListCount - 1, 3) = Sum & ".00"
Me.CommandButton1.Enabled = True
Me.ListBox1.Selected(0) = True

End Sub
รบกวนอาจาย์ดู code ให้หน่อยครับปัญหาคือ
ขอมูลไม่ขึ้นครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Sat Aug 11, 2018 7:35 am
by snasui
:D อธิบายมาว่าได้ทำเพิ่มตรงไหน อย่างไร มาเสมอ จะได้เข้าถึงปัญหาได้โดยไวครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 14, 2018 8:09 am
by Leng
ผมเพิ่มจาก 4 Column เป็น 8 Column ครับ อยากให้มีผลรวมทั้งหมดของช่องที่ 8 ครับแต่ที่ทำมาข้อมูลไม่ขึ้นครับ :flw:

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 14, 2018 2:35 pm
by Leng
ปัญหาอีกอย่างคือเวลาข้อมูลโชว์ใน list box ตรงวันที่ จะเป็น ด/ว/ป ครับผมอยากให้เป็น ว/ด/ป

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 14, 2018 7:01 pm
by snasui
:D เทียบค่าคอลัมน์ไม่ถูกต้องครับ

วันที่ในคอลัมน์ A ของ Sheet1 จะต้องเป็นปี ค.ศ. ไม่ใช่ปี พ.ศ. ครับ

ตัวอย่างการปรับ Code คือด้านล่าง

Code: Select all

'Other code
For i = 2 To Sheet1.Range("A1048576").End(xlUp).Row
    If Sheet1.Cells(i, 4) = CLng(Me.TextBox1.Text) Then
        Me.ListBox1.AddItem
        For c = 0 To 8
            If c + 1 = 1 Then
                 Me.ListBox1.List(ListBox1.ListCount - 1, c) = Format( _
                    Sheet1.Cells(i, c + 1).Value2, "dd/mm/yyyy")
            Else
                Me.ListBox1.List(ListBox1.ListCount - 1, c) = Sheet1.Cells(i, c + 1)
            End If
        Next c
    End If
Next i
'Other code

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 14, 2018 7:34 pm
by Leng

Code: Select all

Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim i As Long
Me.ListBox1.Clear
Me.ListBox1.AddItem
'Other code
For i = 2 To Sheet1.Range("A1048576").End(xlUp).Row
    If Sheet1.Cells(i, 4) = CLng(Me.TextBox1.Text) Then
        Me.ListBox1.AddItem
        For c = 0 To 8
            If c + 1 = 1 Then
                 Me.ListBox1.List(ListBox1.ListCount - 1, c) = Format( _
                    Sheet1.Cells(i, c + 1).Value2, "dd/mm/yyyy")
            Else
                Me.ListBox1.List(ListBox1.ListCount - 1, c) = Sheet1.Cells(i, c + 1)
            End If
        Next c
    End If
Next i
'Other code
For d = 1 To Me.ListBox1.ListCount - 1
Sum = Sum + Val(Me.ListBox1.List(d, 3))
Next d
Me.ListBox1.AddItem
Me.ListBox1.List(ListBox1.ListCount - 1, 2) = "Total Price"
Me.ListBox1.List(ListBox1.ListCount - 1, 3) = Sum & ".00"
Me.CommandButton1.Enabled = True
Me.ListBox1.Selected(0) = True

End Sub
อาจารย์ครับได้แล้วครับแต่ติดปัญหาคือ เวลาsum ข้อมูลไม่ตรงครับ ผมอยาก sum cloumn H ครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 14, 2018 7:47 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
For d = 1 To Me.ListBox1.ListCount - 1
    Sum = Sum + Val(Me.ListBox1.List(d, 2))
Next d
Me.ListBox1.AddItem
Me.ListBox1.List(ListBox1.ListCount - 1, 2) = "Total Price"
Me.ListBox1.List(ListBox1.ListCount - 1, 3) = Format(Sum, "#,##0.00")
'Other code

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 14, 2018 7:56 pm
by Leng
อาจารย์ครับทำไมผลรวมถึงไม่ตรงกับค่าจริงครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 14, 2018 7:58 pm
by snasui
:D ค่าจริงคืออะไรก็ให้ไปรวมค่านั้น ผมเพียงแต่เขียน Code ให้เป็นตัวอย่าง กรุณาทำควมเข้าใจและปรับปรุงเอง ติดแล้วค่อยถามกันต่อครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Tue Aug 14, 2018 8:11 pm
by Leng
ได้แล้วครับขอบพระคุณมากครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Wed Aug 22, 2018 5:18 pm
by Leng
อาจารย์ครับติดปัญหาครับคือ barcode ขึ้นไม่หมดครับรบกวนอาจารย์ช่วยดูหน่อยครับ

Re: สอบถาม Listbox Use KeyPress

Posted: Wed Aug 22, 2018 8:17 pm
by snasui
:D ช่วยอธิบายเพิ่มว่าขึ้นไม่หมดอย่างไร พิจารณาอย่างไรว่าขึ้นหมดหรือขึ้นไม่หมด จะได้เข้าถึงปัญหาโดยไวครับ