Page 1 of 1
ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Sat Oct 28, 2017 10:23 pm
by kio2002
ที่ procedure Private Sub TextBox1_Change()
ผมต้องการค้นหารายการสินค้าที่ textbox1 รายการสินค้าที่ต้องการให้เริ่มค้นหาอยู่ที่เซลล์ M15 ลงมา
แล้วนำรายการสินค้ามาแสดงที่ listbox1
สมมุติ พิมพ์คำว่า "ส้ม" ก็ให้นำรายการสินค้าที่มีคำว่า ส้ม มาแสดงที่ listbox1
ตอนนี้ติดปัญหาที่ พิมพ์ชื่อรายการสินค้าไปแล้ว listbox1 ไม่แสดงผล
ขอบคุณครับ
Code: Select all
Private Sub TextBox1_Change()
Dim i As Long
TextBox1.Text = StrConv(TextBox1.Text, vbProperCase)
ListBox1.Clear
For i = 15 To Application.WorksheetFunction.CountA(Sheet1.Range("M:M"))
M = Len(TextBox1.Text)
If Left(Sheet1.Cells(i, 13).Value, M) = Left(TextBox1.Text, M) Then
ListBox1.AddItem Sheet1.Cells(i, 13).Value
ListBox1.List(ListBox1.ListCount - 1, 13) = Sheet1.Cells(i, 13).Value
End If
Next i
End Sub
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Sat Oct 28, 2017 11:05 pm
by snasui
ตัวอย่าง Code ครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim r As Long
With Sheets("sheet1")
For r = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(r) Then
.Range("C" & .Rows.Count).End(xlUp).Offset(1, 0).Value = ListBox1.List(r)
End If
Next r
End With
End Sub
Private Sub TextBox1_Change()
Dim r As Range, rAll As Range
If TextBox1.Text <> "" Then
ListBox1.Clear
With Sheets("Sheet1")
Set rAll = .Range("m15", .Range("m" & .Rows.Count).End(xlUp))
End With
For Each r In rAll
M = Len(TextBox1.Text)
If Left(r.Value, M) = Left(TextBox1.Text, M) Then
ListBox1.AddItem r.Value
End If
Next r
End If
End Sub
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Sun Oct 29, 2017 3:00 pm
by kio2002
เรียนอาจารย์ครับ ที่ procedure Private Sub TextBox1_Change() ได้ตามที่ต้องการแล้วครับ
แต่ยังติดตรง precedure Private Sub CommandButton1_Click()
ผมต้องการให้ส่งรายการสินค้าที่เลือกจาก listbox1 เริ่มส่งไปยังเซลล์ C15 และลงมาเรื่อยๆ
แต่ตอนนี้มันส่งรายการสินค้าไปแค่ที่เซลล์ C15 และ C16 เท่านั้น เซลล์C17 ลงมา มันไม่ยอมส่ง
Code: Select all
Private Sub CommandButton1_Click()
Dim r As Long
With Sheets("sheet1")
For r = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(r) Then
.Range("C15").Offset(Application.CountA(.Range("C15:c" & .Rows.Count).End(xlUp).Offset(1, 0))).Value = ListBox1.List(r)
End If
Next r
End With
End Sub
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Sun Oct 29, 2017 3:07 pm
by snasui
Code ที่ผมปรับไปติดปัญหาตรงไหน อย่างไร ช่วยนำไปทดสอบแล้วแจ้งที่เป็นปัญหา จะได้ตอบต่อไปจากนั้นครับ
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Sun Oct 29, 2017 6:49 pm
by kio2002
ขออภัยครับ ผมนำไปใช้แล้ว แต่ลืมแจ้งครับ
codeของอาจารย์ กดปุ่มบันทึกแล้ว เริ่มส่งรายการสินค้าไปยังเซลล์ C48 ลงมาเรื่อยๆ
ผมอยากให้เริ่มส่งรายการสินค้าไปยังเซลล์ C15 เป็นอันดับแรก และลงมาเรื่อยๆจนถึงเซลล์ที่กำหนด คือเซลล์ C25 ครับ
แต่หากบันทึกรายการสินค้าถึงเซลล์ C26 อยากให้แสดง MsgBox และจบคำสั่งครับ
ที่ต้องการประมาณนี้ครับ
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Wed Nov 01, 2017 8:26 am
by kio2002
snasui wrote: Code ที่ผมปรับไปติดปัญหาตรงไหน อย่างไร ช่วยนำไปทดสอบแล้วแจ้งที่เป็นปัญหา จะได้ตอบต่อไปจากนั้นครับ
ขออภัยครับ ผมนำไปใช้แล้ว แต่ลืมแจ้งครับ
codeของอาจารย์ กดปุ่มบันทึกแล้ว เริ่มส่งรายการสินค้าไปยังเซลล์ C48 ลงมาเรื่อยๆ
ผมอยากให้เริ่มส่งรายการสินค้าไปยังเซลล์ C15 เป็นอันดับแรก และลงมาเรื่อยๆจนถึงเซลล์ที่กำหนด คือเซลล์ C25 ครับ
แต่หากบันทึกรายการสินค้าถึงเซลล์ C26 อยากให้แสดง MsgBox และจบคำสั่งครับ
ที่ต้องการประมาณนี้ครับ
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Wed Nov 01, 2017 3:42 pm
by logic
ลองดูว่าใช้ได้ไหมครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim r As Long
With Sheets("sheet1")
If .Range("c25").Value <> "" Then
MsgBox "Not record"
Exit Sub
End If
For r = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(r) Then
.Range("C26").End(xlUp).Offset(1, 0).Value = ListBox1.List(r)
End If
Next r
End With
End Sub
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Mon Nov 06, 2017 8:03 pm
by kio2002
แบนี้แหละครับที่ต้องการ ได้ความรู้ใหม่ สามารถใช้ Exit sub ออกจากคำสั่งได้ก่อนจบ procedure ได้ด้วย
ขอบคุณอาจารย์ และสมาชิก logic มากๆครับ
จะเอาไปปรับใช้ หากติดตรงไหน จะมาสอบถามเพิ่มครับ
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Wed Nov 14, 2018 9:27 pm
by kio2002
สอบถามสมาชิกทุกท่านครับ
Listbox กรณีที่มีสินค้าเยอะๆ มันจะขึ้น scroll bar มาให้ มีวิธีที่ทำให้ใช้ลูกกลิ้งเม้าท์เลื่อนขึ้น เลื่อนลงได้ไหมครับ
ตามรูปแนบครับ ขอบคุณครับ
Re: ค้นหารายการสินค้าจากTextBoxแล้วนำรายการสินค้ามาแสดงที่ListBox
Posted: Thu Nov 15, 2018 9:48 pm
by snasui
คงต้องพึ่ง Windows API ลองดู LInk ย่อยใน Link ด้านล่างนี้เป็นตัวอย่างครับ
https://www.google.co.th/search?rlz=1C1 ... MnutQVLkDo