Page 1 of 3
ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Sat Apr 21, 2012 5:21 pm
by joo
มีปัญหามารบกวนอีกแล้วครับท่าน...ช่วยแนะนำด้วยครับผม

- ในการค้นหาข้อมูลมาแสดงผมใช้คอลัมภ์ช่วยในการค้นหาข้อมูลพบว่าค่าที่ได้มาไม่ตรงตามที่ต้องการดังตัวอย่างที่ซีท look ซึ่งระบบไม่ได้มองแค่รหัส 2000 อย่างเดียวแต่จะรวมรหัสอื่นมาด้วย เช่น 20,200,2000 ไม่เข้าใจว่าทำไมถึงเป็นเช่นนั้นครับ
- สำหรับที่ซีท look1 ค้นหาโดยใช้เงื่อนไขเดือนกับปีโดยใช้คอลัมภ์ช่วยหาเหมือนกันแต่ดูแล้วยุ่งยากหลายขั้นตอนพอจะมีวิธีที่สั้นกระทัดรัดกว่านี้ไหมครับ
- ที่ซีท Report ผมใช้การค้นหาโดยใช้สูตรโดยมีเงื่อนไขขึ้นอยู่กับรหัสและปีงบประมาณ ตอนนี้ทำได้เพียงค้นหาตามรหัสส่วนเงื่อนไขหลังยังไม่ได้ครับ
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Sat Apr 21, 2012 9:53 pm
by ysamroeng
1. การใช้ SEARCH เหมาะสำหรับการค้นหา โดยการป้อนเพียงบางส่วนของคำหรือของเงื่อนไข แล้วดึงข้อมูลมาแสดง เช่น รายชื่อพนักงานที่ขึ้นต้นว่า "สม" จะสมชาย สมหญิง สมทรง ก็จะแสดงออกมาทั้งหมด แต่กรณีนี้คุณจะค้นหารหัสพนักงาน จึงควรค้นหาแบบระบุไปเลยว่า รหัสพนักงานคนไหน ดังนั้น ในชีท database ที่เซลล์ L4 จึงควรเปลี่ยนสูตรเป็น =IF(AND(B4=look!$F$5,A4=look!$F$6),LOOKUP(9.99999999999999E+307,Database!L$3:L3)+1,"") แล้วคัดลอกลงมา
2. ยังสงสัยว่า ในการระบุเงื่อนไขเป็นชื่อเดือน ในคอลัมน์ช่วยให้แสดงเดือนเป็น mmmm แต่ในชีท look2 กลับเลือกเดือนเป็นภาษาไทย ผมลองทำรายชื่อเดือนขึ้นมา (คอลัมน์ P) แล้วอ้างอิงรายการเลือกไปยังช่วงชื่อเดือน แล้วปรับสูตรในคอลัมน์ P ชีท database ใหม่ (โดยไม่จำเป็นต้องมี M และ O)
P4 =IF(AND(A4=look1!$F$5,MONTH(F4)=look1!$F$3),LOOKUP(9.99999999999999E+307,Database!P$3:P3)+1,"") แล้วคัดลอกสูตรลงมา
3. ไม่ว่าจะในชีท look, look1 หรือ report ส่วนที่แสดงข้อมูลด้านล่างนั้น ใช้สูตรลักษณะเดียวกันทั้งหมดครับ เพียงแต่ไปอ้างอิงจากคอลัมน์ช่วยในชีท database คนละคอลัมน์กันเท่านั้น สาระสำคัญคือ สูตรในแต่ละคอลัมน์ช่วยนั้นต่างหาก (ในชีท report ทำไมต้องเขียนอะเรย์ ทั้งๆ ที่ใช้สูตรเหมือนชีทก่อนหน้าก็ได้แล้ว)
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Sun Apr 22, 2012 6:58 am
by joo

ขอบคุณครับสำหรับการช่วยทดสอบปรับแก้ไขสูตรให้ มองข้ามสิ่งเล็กๆน้อยๆไปได้
3. ไม่ว่าจะในชีท look, look1 หรือ report ส่วนที่แสดงข้อมูลด้านล่างนั้น ใช้สูตรลักษณะเดียวกันทั้งหมดครับ เพียงแต่ไปอ้างอิงจากคอลัมน์ช่วยในชีท database คนละคอลัมน์กันเท่านั้น สาระสำคัญคือ สูตรในแต่ละคอลัมน์ช่วยนั้นต่างหาก (ในชีท report ทำไมต้องเขียนอะเรย์ ทั้งๆ ที่ใช้สูตรเหมือนชีทก่อนหน้าก็ได้แล้ว)
ที่ซีท Report นั้นต้องการใช้สูตรดึงข้อมูลให้มาแสดงโดยตรงเลย โดยไม่ต้องทำคอลัมภ์ช่วยที่ซีท Database มันก็จะสะดวกไปอีกแบบหนึ่งที่ไม่ต้องไปยุ่งกับฐานข้อมูล

ได้ลองปรับสูตรที่ซีท Report ใหม่ที่ C12
=INDEX(Database!A$4:A$10,MATCH($F5,Database!$B$4:$B$10,0),MATCH($F6,Database!$A$4:$A$10,0))
ก็แสดงข้อมูลได้ครับแต่ข้อมูลมันจะซ้ำๆกันและถ้าเงื่อนไขไม่ตรงจะขึ้น #N/A ครับ

Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Sun Apr 22, 2012 8:10 am
by snasui
joo wrote:ได้ลองปรับสูตรที่ซีท Report ใหม่ที่ C12
=INDEX(Database!A$4:A$10,MATCH($F5,Database!$B$4:$B$10,0),MATCH($F6,Database!$A$4:$A$10,0))
ก็แสดงข้อมูลได้ครับแต่ข้อมูลมันจะซ้ำๆกันและถ้าเงื่อนไขไม่ตรงจะขึ้น #N/A ครับ
สูตรนี้ใช้ดึงข้อมูลจากตารางแบบ 2 ทาง คือ ทางบรรทัดและทางคอลัมน์ แต่จากโจทย์นี้ต้องการดึงข้อมูลทางบรรทัดเท่านั้น เพียงแต่ต้องเข้า 2 เงื่อนไข คือ รหัสพนักงานและปี จึงสามารถเปลี่ยนสูตรเป็น
=INDEX(Database!A$4:A$10,MATCH(1,If(Database!$B$4:$B$10=$F$5,IF(Database!$A$4:$A$10=$F$6,1)),0))
Ctrl+Shift+Enter
ส่วนเงื่อนไขไม่ตรงก็จะขึ้น #N/A ซึ่งเป็นเรื่องปกติ อีกอย่าง หากเงื่อนไขไม่ตรง F7, F8 ก็ต้องเป็น 0 เพราะเป็นการคำนวณแบบนับ และ รวม โดยใช้เงื่อนไขเดียวกันคือรหัสพนักงานและปี จากกรณีนี้เราสามารถนำมาประยุกต์เพิ่มเติมได้เป็น
=If($F$7=0,"",INDEX(Database!A$4:A$10,MATCH(1,If(Database!$B$4:$B$10=$F$5,IF(Database!$A$4:$A$10=$F$6,1)),0)))
Ctrl+Shift+Enter
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 23, 2012 9:18 am
by joo
ขอบคุณครับท่านอาจารย์ทดลองดูแล้วแต่ยังไม่ตรงกับที่ต้องการครับ เช่น รหัส 2000 ผ่านการอบรมมาแล้ว 2 ครั้ง ข้อมูลที่แสดงออกมากลับมากกว่า 2 ครั้ง เดิมทีผมใช้สูตรแบบนี้
=IF(ROWS($C$12:C12)>$F$7,"",INDEX(Database!A$4:A$10,SMALL(IF(Database!$B$4:$B$10=Report!$F$5,ROW(Database!$A$4:$A$10)-ROW(Database!$B$4)+1),ROWS($C$12:C12))))
ค่าที่แสดงออกมาได้ถูกต้องเพียงแต่เข้าเงื่อนไขเดียวเท่านั้นพอเปลี่ยนปีข้อมูลกลับไม่เปลี่ยนตามครับ

Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 23, 2012 9:41 am
by snasui

แนบตัวอย่างมาใหม่ดีกว่าครับ แจ้งว่าเปลี่ยนค่าเงื่อนไขในเซลล์ใดบ้าง และช่วยแจ้งให้ชัดเจนว่าต้องการผลลัพธ์เป็นอย่างไร เพื่อจะได้ตอบให้ตรงประเด็น แนบสูตรที่ได้ทดลองเขียนเองมาแล้วด้วยครับ
สูตรด้านบน

ที่เขียนมาใช้เพื่อทำการ
List รายการที่เข้าเงื่อนไขทั้งหมดออกมาแสดง หากมี 10 รายการก็จะ List ออกมาทั้งหมด (หากมีการ Copy สูตรลงไปทางด้านล่าง)
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 23, 2012 3:21 pm
by joo
ที่ซีท Report เซลล์ C12:M12 ต้องแสดงค่าที่ถูกต้องตามเงื่อนไข F5 และ F6 ตัวอย่างคำตอบตามไฟล์แนบครับ
ที่ซีท look1 ต้องการหาจำนวนบุคคลโดยไม่ต้องใช้คอลัมภ์เข้ามาช่วยโดยมีเงื่อนไขตาม F4 และ F5 ต้องปรับสูตรอย่างไรดีครับ

Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 23, 2012 5:26 pm
by joo
ผมลองใช้วิธีนี้ดูไม่แน่ใจว่าถูกวิธีหรือไม่ครับ ที่ซีท Report เซลล์ F7 คีย์ =SUMPRODUCT(--(Database!$B$4:$B$10=F$5),--(Database!$A$4:$A$10=$F6)) ทดสอบเปลี่ยนรหัสและปีดูก็สามารถแสดงค่าได้ถูกต้องครับ ส่วนซีทอื่นๆก็แสดงได้ถูกต้องเหมือนกันครับ:D
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 23, 2012 8:25 pm
by snasui

จากโจทย์ด้านล่าง
ค้นหาข้อมูลโดยใช้ รหัสบุคคลและปีงบประมาณเป็นเงื่อนไขในการค้นหา เมื่อเปลี่ยนปีงบประมาณหรือรหัสบุคคลอย่างใดอย่างหนึ่งให้ข้อมูลที่แสดงมีการเปลี่ยนแปลงตามเงื่อนไข ถ้าไม่มีก็ให้แสดงค่าว่าง แต่ปัจจุบันทำได้เพียงเงื่อนไขเดียว คำตอบที่ต้องการคือเมื่อเลือกรหัสบุคคลและปีก็ให้แสดงค่าตามตัวอย่างนี้ครับ
และตัวอย่างสูตรทีใช้ดึงข้อมูลที่ C12 คือ
=IF(ROWS($C$12:C12)>$F$7,"",INDEX(Database!A$5:A$11,SMALL(IF(Database!$B$5:$B$11=$F$5,ROW(Database!$A$5:$A$11)-ROW(Database!$B$5)+1),ROWS($C$12:C12))))
ซึ่งเป็นสูตรที่ใช้เงื่อนไขคือรหัสบุคคลอย่างเดียวไม่ได้ใช้ปีมาเป็นเงื่อนไขด้วย หากในชีท Database มีหลายปีจะทำให้ผลลัพธ์ไม่ถูกต้อง ดังนั้น ควรปรับสูตรที่ C12 โดยเพิ่มเงื่อนไขที่เป็นปีเข้าไปด้วย จะได้เป็น
=IF(ROWS($C$12:C12)>$F$7,"",INDEX(Database!A$5:A$11,SMALL(IF(Database!$B$5:$B$11=$F$5,
IF(Database!$A$4:$A$10=$F$6,ROW(Database!$A$5:$A$11)-ROW(Database!$B$5)+1)),ROWS($C$12:C12))))
นอกจากนี้ที่ B12 ควรปรับสูตรเดิมคือ
=IF(C12<>"",(
ROW()-11)*(NOT(ISBLANK(C12))),"")
เป็น
=IF(ROWS(B$12:B12)>$F$7,"",ROWS(B$12:B12))
Enter
ทั้งนี้เพื่อความยืดหยุ่น สำหรับการใช้ Row() แล้วลบด้วยบรรทัดก่อนหน้าจะมีปัญหาได้หากมีการลบหรือแทรกบรรทัด ต้องคอยแก้สูตรอยู่เรื่อยไป
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Tue Apr 24, 2012 2:35 pm
by joo
ขอบคุณครับสำหรับคำแนะนำในการปรับปรุงแก้ไขสูตร ทดลองแล้วสามารถใช้งานได้ดีครับ

มีคำถามเพิ่มครับที่ซีท look1 เซลล์ C11 ผมใช้สูตรค้นหาข้อมูลโดยมีเงื่อนไขคือเดือนกับปี เมื่อนำไปใช้กับข้อมูลปริมาณมากๆ พบว่าคำนวณช้ามากหรือว่ามันเป็นธรรมดาของสูตรแบบอเรย์ครับ พอมีวิธีแก้ไขให้เร็วขึ้นบ้างไหมครับ สูตรที่ใช้แบบนี้ครับ
=IF(ROWS($C$11:C11)>$F$6,"",INDEX(Database!A$4:A$11,SMALL(IF(TEXT(Database!$F$4:$F$10,"mmmm")=$F$4,IF(Database!$A$4:$A$10=$F$5,ROW(Database!$A$4:$A$10)-ROW(Database!$B$4)+1)),ROWS($C$11:C11))))
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Tue Apr 24, 2012 3:24 pm
by bank9597

จากไฟล์แนบอันล่าสุด ชีท look1 เซลล์ C11 มีสูตรนี้ =IF(N($B11),LOOKUP($B11,Database!$M:$M,Database!A:A),"")
ผมดูผิดตรงไหนไหมหนอ

Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Tue Apr 24, 2012 4:53 pm
by snasui
joo wrote:ขอบคุณครับสำหรับคำแนะนำในการปรับปรุงแก้ไขสูตร ทดลองแล้วสามารถใช้งานได้ดีครับ

มีคำถามเพิ่มครับที่ซีท look1 เซลล์ C11 ผมใช้สูตรค้นหาข้อมูลโดยมีเงื่อนไขคือเดือนกับปี เมื่อนำไปใช้กับข้อมูลปริมาณมากๆ พบว่าคำนวณช้ามากหรือว่ามันเป็นธรรมดาของสูตรแบบอเรย์ครับ พอมีวิธีแก้ไขให้เร็วขึ้นบ้างไหมครับ สูตรที่ใช้แบบนี้ครับ
=IF(ROWS($C$11:C11)>$F$6,"",INDEX(Database!A$4:A$11,SMALL(IF(TEXT(Database!$F$4:$F$10,"mmmm")=$F$4,IF(Database!$A$4:$A$10=$F$5,ROW(Database!$A$4:$A$10)-ROW(Database!$B$4)+1)),ROWS($C$11:C11))))

กรณีคำนวณช้าเป็นธรรมดาของสูตร Array ครับ
การจะให้คำนวณเร็วขึ้นควรแทรกคอลัมน์สำหรับ List ลำดับของรายการจากข้อมูลทั้งหมดแล้วใช้ Index เข้ามาช่วย สูตรสำหรับคอลัมน์ช่วยก็จะได้เป็น
เช่น Z12 คีย์
=IF(ROWS($C$11:C11)>$F$6,"",SMALL(IF(TEXT(Database!$F$4:$F$10,"mmmm")=$F$4,IF(Database!$A$4:$A$10=$F$5,ROW(Database!$A$4:$A$10)-ROW(Database!$B$4)+1)),ROWS($C$11:C11)))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
จากนั้นใช้ Index เข้ามาช่วย เช่น
=INDEX(Database!A$4:A$11,
$Z12)
Enter > Copy ไปด้านขวาและลงด้านล่าง
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Tue Apr 24, 2012 5:54 pm
by bank9597
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Thu Apr 26, 2012 7:42 am
by joo
ขอบคุณครับ ทดลองแล้วสามารถคำนวณได้เร็วขึ้นกว่าเดิมมากเลยครับ

Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 30, 2012 11:45 am
by joo
ขอคำแนะนำเพิ่มครับ คือว่าผมได้ลองใช้ VBA ช่วยในการค้นหาข้อมูลมาแสดง ที่ซีท Search โดยมี 2 เงื่อนไขคือ รหัสบุคคลกับปีงบประมาณ
และที่ซีท Search1 ค้นหาโดยมีเงื่อนไขคือ เดือนกับปีงบประมาณ ช่วยดูโค๊ดให้หน่อยครับต้องปรับเพิ่มแก้ไขอย่างไรดีครับ

Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 30, 2012 1:14 pm
by bank9597

ลองตามนี้ครับ
ที่ M3 คีย์ =E4
ที่ N3 คีย์ =E6
ที่ M4 คีย์ =F4
ที่ N4 คีย์ =F6
Procedure ชื่อ ShowDataTraining ปรับโค๊ดเป็น
Code: Select all
Sub ShowDataTraining()
On Error Resume Next
Application.EnableEvents = False
Sheets("Database").Range("A3:K100").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Sheets("Search").Range("M3:N4")
Sheets("Database").Range("A4:K100").SpecialCells(xlCellTypeVisible).Copy
Sheets("Search").Range("C12").PasteSpecial xlPasteValues
Sheets("Database").ShowAllData
Range("F4").Activate
Application.CutCopyMode = False
Application.EnableEvents = True
End Sub
ในชีท Search ปรับโค๊ดเป็น
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F4:F6")) Is Nothing Then
Call ShowDataTraining
End If
End Sub
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 30, 2012 2:43 pm
by joo
ขอบคุณครับคุณ bank9597 ที่แนะนำ ได้ทดลองดูแล้วก็ใช้งานได้ดี แต่ก็ต้องใส่สูตรเพิ่มเติมที่คอลัมภ์ B12 ไว้ล่วงหน้าและถ้าข้อมูลใน Database มีปริมาณมากก็จะต้องคอยปรับแก้ไข
เรนจ์ที่อ้างอิงในโค๊ดอยู่เรื่อยๆซึ่งดูแล้วไม่ค่อยยืดหยุ่นเท่าไร จากโค๊ดด้านล่างนี้น่าจะยืดหยุ่นดีเพียงแต่จะเพิ่มเงื่อนไขที่2ไว้ตรงไหนดีนี้แหละช่วยดูให้หน่อยครับ
Code: Select all
Option Explicit
Option Base 1
Sub ShowDataTraining()
Dim a() As Variant, lng As Long
Dim r As Range, rAll As Range
Dim rt As Range, rl As Long
Application.EnableEvents = False
Application.ScreenUpdating = False
rl = Rows.Count
With Worksheets("Database")
Set rAll = .Range("B4", .Range("B" & rl).End(xlUp))
End With
For Each r In rAll
If r = Worksheets("Search").Range("F5") Then
lng = lng + 1
ReDim Preserve a(12, lng)
a(1, lng) = lng
a(2, lng) = r.Offset(0, -1)
a(3, lng) = r.Offset(0, 0)
a(4, lng) = r.Offset(0, 1)
a(5, lng) = r.Offset(0, 2)
a(6, lng) = r.Offset(0, 3)
a(7, lng) = r.Offset(0, 4)
a(8, lng) = r.Offset(0, 5)
a(9, lng) = r.Offset(0, 6)
a(10, lng) = r.Offset(0, 7)
a(11, lng) = r.Offset(0, 8)
a(12, lng) = r.Offset(0, 9)
End If
Next r
If lng > 0 Then
With Worksheets("Search")
Set rt = .Range("B12", .Range("Q" & lng - 1 + 12))
If .Range("B12") <> "" Then 'Check if isblank
.Range("B12", .Range("B" & rl).End(xlUp).Offset(0, 4)).ClearContents
End If
.Range("B12:M12").Copy
rt.PasteSpecial xlPasteFormats
rt = Application.Transpose(a)
.Range("D12", .Range("D" & rl).End(xlUp)).NumberFormat = "00000"
.Range(.Range("B11").End(xlDown).Offset(1, 0), .Range("Q" & rl)).Clear 'Change new start cell
.Range("F4").Activate
End With
Else
MsgBox "Data not found."
End If
'Range("A5:E5").AutoFilter
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 30, 2012 3:22 pm
by snasui
joo wrote:ถ้าข้อมูลใน Database มีปริมาณมากก็จะต้องคอยปรับแก้ไข
เรนจ์ที่อ้างอิงในโค๊ดอยู่เรื่อยๆซึ่งดูแล้วไม่ค่อยยืดหยุ่นเท่าไร

เราสามารถปรับ Code ให้ยืดหยุ่นได้ครับ เช่น จาก
Code: Select all
Sheets("Database").Range("A3:K100").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Sheets("Search").Range("M3:N4")
เราสามารถเปลี่ยนเป็น
Code: Select all
Sheets("Database").Range("A3",Range("K" & Rows.Count).End(xlUp)).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Sheets("Search").Range("M3:N4")
ส่วน Code การ Search ด้วย Array นั้นไม่ง่ายนักแต่ก็เป็นประโยชน์หากต้องการเรียนรู้ กรณีมีเงื่อนไขอื่น ๆ หลายเงื่อนไข สามารถปรับที่ Code ด้านล่างครับ
Code: Select all
For Each r In rAll
If r = Worksheets("Search").Range("F5") Then
ยกตัวอย่างเช่นปรับเป็น
Code: Select all
For Each r In rAll
If r = Worksheets("Search").Range("F5") And r.Offset(0,1) = Worksheet("Search").Range("F6") Then
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 30, 2012 3:36 pm
by bank9597

ผมไม่ค่อยเก่ง VBA เลยครับ (สูตรก็ไม่เก่ง) ต้องขออภัยจริงๆ คงต้องรอให้อาจารย์มาดูให้อีกทีน่ะครับ
สำหรับตามวิธีผมนั้น ผมทำตามที่พอทำได้ คือ ใช้สูตรเข้ามาช่วย โดยการกำหนด RangeName เข้ามาช่วย แต่หากเก่ง VBA แล้วก็ไม่จำเป็นต้องทำแบบนี้ครับ
ตามไฟล์แนบครับ
Re: ค้นหาข้อมูลโดยใช้สูตรและคอลัมภ์ช่วย
Posted: Mon Apr 30, 2012 5:33 pm
by joo
ขอบคุณครับที่ช่วยแนะนำสำหรับโค๊ดที่ท่านอาจารย์แนะนำ
Code: Select all
Sheets("Database").Range("A3",Range("K" & Rows.Count).End(xlUp)).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Sheets("Search").Range("M3:N4")
ทดสอบแล้วพบว่าข้อมูลแสดงออกมาหมดเลยไม่ตรงตามเงื่อนไข
และโค๊ดนี้
Code: Select all
For Each r In rAll
If r = Worksheets("Search").Range("F5") And r.Offset(0,1) = Worksheets("Search").Range("F6") Then
ทดลองดูแล้วข้อมูลไม่ยอมแสดง ขึ้นคำว่า Data No found ตลอดครับ
