:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

สอบถาม Listbox Use KeyPress

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

สอบถาม Listbox Use KeyPress

#1

Post by Leng »

:( ผมอยากทำแบบ link นี้ครับแต่พอทำตามแล้วขึ้น Error ทั้งที่โค๊ดก็ทำตามผมก็เช็คทุกอย่างตามเค้าแล้ว
แต่ก็ยังทำไม่สำเร็จรบกวนอาจารย์เพื่อนๆช่วยดูหน่อยครับ
https://www.youtube.com/watch?v=xAplx9LPmk4
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถาม Listbox Use KeyPress

#2

Post by snasui »

:D กรุณาอธิบายมาพอสังเขปว่าต้องการจะทำอะไรเพื่อสะดวกในการค้นหาของเพื่อนสมาชิกครับ
Arm_anucha
Member
Member
Posts: 47
Joined: Tue Jul 04, 2017 2:57 pm

Re: สอบถาม Listbox Use KeyPress

#3

Post by Arm_anucha »

ที่บรรทัดนี้เขียนชื่อ Sheeet1 เลยรันไม่ได้ครับลบ e ออกไป 1 ตัวก็สามารถใช้ได้แล้วครับ

Code: Select all

For i = 2 To Application.WorksheetFunction.CountA(Sheeet1.Range("A:A"))
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#4

Post by Leng »

ผมได้แก้แล้วครับแต่ข้อมูลไม่ขึ้นครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถาม Listbox Use KeyPress

#5

Post by snasui »

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

Re: สอบถาม Listbox Use KeyPress

#6

Post by Leng »

สิ่งที่ต้องการครับ
- ผมต้องการ List สรุปข้อมูลครับ เช่นถ้าผม click ที่หมวดหมู่ Snaks ก็จะขึ้น ข้อมูล Snaks ทุกวัน ที่ลงข้อมูลไว้ทั้งหมดพร้อมผลรวมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถาม Listbox Use KeyPress

#7

Post by snasui »

:D ลบ Code ใน Module1 ทิ้งทั้งหมดครับ

ไปที่ UserForm1 แก้ไข UserForm1_Initialize เป็น UserForm_Initialize และ แก้ไข Worksheet.sheet("sheet1") เป็น Worksheets("sheet1") > Save แล้วเปิดไฟล์มาใหม่ > ทดสอบการทำงาน
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#8

Post by Leng »

ได้แล้วครับขอบพระคุณมากครับ :D :D
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#9

Post 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 ให้หน่อยครับปัญหาคือ
ขอมูลไม่ขึ้นครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถาม Listbox Use KeyPress

#10

Post by snasui »

:D อธิบายมาว่าได้ทำเพิ่มตรงไหน อย่างไร มาเสมอ จะได้เข้าถึงปัญหาได้โดยไวครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#11

Post by Leng »

ผมเพิ่มจาก 4 Column เป็น 8 Column ครับ อยากให้มีผลรวมทั้งหมดของช่องที่ 8 ครับแต่ที่ทำมาข้อมูลไม่ขึ้นครับ :flw:
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#12

Post by Leng »

ปัญหาอีกอย่างคือเวลาข้อมูลโชว์ใน list box ตรงวันที่ จะเป็น ด/ว/ป ครับผมอยากให้เป็น ว/ด/ป
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถาม Listbox Use KeyPress

#13

Post 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
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#14

Post 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 ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถาม Listbox Use KeyPress

#15

Post 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
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#16

Post by Leng »

อาจารย์ครับทำไมผลรวมถึงไม่ตรงกับค่าจริงครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถาม Listbox Use KeyPress

#17

Post by snasui »

:D ค่าจริงคืออะไรก็ให้ไปรวมค่านั้น ผมเพียงแต่เขียน Code ให้เป็นตัวอย่าง กรุณาทำควมเข้าใจและปรับปรุงเอง ติดแล้วค่อยถามกันต่อครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#18

Post by Leng »

ได้แล้วครับขอบพระคุณมากครับ
Leng
Member
Member
Posts: 225
Joined: Tue Jun 26, 2018 5:19 pm

Re: สอบถาม Listbox Use KeyPress

#19

Post by Leng »

อาจารย์ครับติดปัญหาครับคือ barcode ขึ้นไม่หมดครับรบกวนอาจารย์ช่วยดูหน่อยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สอบถาม Listbox Use KeyPress

#20

Post by snasui »

:D ช่วยอธิบายเพิ่มว่าขึ้นไม่หมดอย่างไร พิจารณาอย่างไรว่าขึ้นหมดหรือขึ้นไม่หมด จะได้เข้าถึงปัญหาโดยไวครับ
Post Reply