Page 1 of 1
Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Fri Jun 26, 2020 11:27 am
by wisitsakbenz
รบกวนสอบถามอาจารย์ครับ
ค้นหา HN แต่แสดงค่าแค่ 1 ทั้ง ๆที่มีมากกว่า 1 ต้องปรับ Code อย่างไรครับ ขอบคุณครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim i As Long
Me.ListBox1.Clear
Me.ListBox1.AddItem
For a = 1 To 7
Me.ListBox1.List(0, a - 1) = Sheet1.Cells(1, a)
Next a
Me.ListBox1.Selected(0) = True
'For List Box fill
For i = 2 To Sheet1.Range("A100000").End(xlUp).Offset(1, 0).Row
For j = 1 To 7
H = Application.WorksheetFunction.CountIf(Sheet1.Range("A" & 2, "G" & i), _
Sheet1.Cells(i, j))
If H = 1 And LCase(Sheet1.Cells(i, j)) = LCase(Me.Range("D2").Value) Or H = 1 And _
Sheet1.Cells(i, j) = Val(Me.Range("D2").Value) Then
Me.ListBox1.AddItem
For x = 1 To 7
Me.ListBox1.List(ListBox1.ListCount - 1, x - 1) = Sheet1.Cells(i, x)
Next x
End If
Next j
Next i
End Sub
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Fri Jun 26, 2020 10:21 pm
by snasui

ตัวอย่างการปรับ Code ครับ
Code: Select all
'Other code
'For List Box fill
For i = 2 To Sheet1.Range("A100000").End(xlUp).Row
If Sheet1.Cells(i, 2).Value = Sheet2.Cells(2, 4).Value Then
Me.ListBox1.AddItem
For x = 1 To 7
Me.ListBox1.List(ListBox1.ListCount - 1, x - 1) = Sheet1.Cells(i, x)
Next x
End If
Next i
End Sub
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Sun Jun 28, 2020 2:08 pm
by wisitsakbenz
เรียน อาจารย์ครับ
ที่ต้องการคือ อยากให้ค้นหาโดย Reference No, HN , PatientName, Dept ,Doctor, Procedure หรือ Package
Code ของอาจารย์สามารถค้นหาได้แค่ HN ครับ
รบกวนอาจารย์อีกครั้งครับ ขอบคุณครับ
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Sun Jun 28, 2020 2:54 pm
by snasui

ปรับ Code ส่วนนี้มาเองเพื่อให้หาได้ทุกค่าที่ต้องการครับ
If Sheet1.Cells(i, 2).Value = Sheet2.Cells(2, 4).Value Then
ปรับเองแล้วติดตรงไหนค่อยแนบไฟล์ล่าสุดมาถามกันต่อครับ
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Tue Jun 30, 2020 11:05 am
by wisitsakbenz
ขอบคุณครับอาจารย์ snasui
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Tue Jun 30, 2020 3:55 pm
by wisitsakbenz
เรียน อาจารย์ครับ
งานที่จะทำจริงจำนวน Column ใน Sheet "Data" มี 24 Column
พอแก้ไข Code แล้ว error ไม่แน่ใจว่าผมทำผิดตรงไหนครับ
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Tue Jun 30, 2020 6:59 pm
by snasui

ตัวอย่าง Code ครับ
Code: Select all
'Other code
Dim i As Long, j As Long
Dim arr(0, 23) As Variant
Me.ListBox1.Clear
Me.ListBox1.AddItem
For a = 0 To 23
arr(0, a) = Sheet1.Cells(1, a + 1).Value
' Me.ListBox1.List(0, a - 1) = Sheet1.Cells(1, a)
Next a
Me.ListBox1.ColumnCount = 24
Me.ListBox1.List = arr
'Other code
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Wed Jul 01, 2020 8:45 am
by wisitsakbenz
เรียน อาจารย์ snasui
ได้แล้วครับ ปัญหาต่อมาคือ เวลาคลิกข้อมูลใน ListBox1 หลังจากนั้นคลิกปุ่ม Delete ข้อมูลไม่ถูกลบ ไม่แน่ใจว่าต้องปรับ Code อย่างไรครับ ขอบคุณครับ
Code: Select all
Private Sub CommandButton2_Click()
Dim i As Integer
For i = 1 To Sheet1.Range("A" & Rows.Count).End(xlUp).Row
If Sheet1.Cells(i, 2).Value = Sheet2.ListBox1.List(ListBox1.ListIndex) Then
Sheet1.Rows(i).EntireRow.Delete
End If
Next i
End Sub
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Thu Jul 02, 2020 6:44 am
by snasui

ลบแบบเดิมไม่ได้อยู่แล้วครับ ของเดิมเป็นการนำค่าใน Range มาวางใน ListBox เมื่อลบค่าในเซลล์จะเป็นการลบค่าใน ListBox ด้วย แต่วิธีการใหม่เป็นการนำค่ามาวางใน ListBox โดย Array การลบก็ต้องลบค่าใน ListBox โดยตรงครับ
Re: Macro : ค้นหา HN แต่แสดงค่าแค่ 1
Posted: Thu Jul 02, 2020 9:03 am
by wisitsakbenz
ขอบคุณครับอาจารย์ snasui