: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

VBA SearchColumn แล้ว Error

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
omozk
Member
Member
Posts: 6
Joined: Wed Aug 05, 2020 4:21 pm

VBA SearchColumn แล้ว Error

#1

Post by omozk »

ค้นหาเลือกฟิว แล้วพิมค้นหาใน Textboxแล้วค้นหาแล้วมัน Error


iColumn = Application.WorksheetFunction.Match(sColumn, shSearchData.Range("A1:P1"), 0)
Attachments
Fu_Rev1.xlsm
(248.88 KiB) Downloaded 10 times
ำำ66.png
ำำ66.png (110.3 KiB) Viewed 134 times
ำๆำด.png
ำๆำด.png (71.73 KiB) Viewed 134 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31214
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: VBA SearchColumn แล้ว Error

#2

Post by snasui »

:D ชีตตามตัวแปร shSearchData ไม่มีข้อมูลในช่วง A1:P1 ก็เลย Match ไม่เจอครับ
omozk
Member
Member
Posts: 6
Joined: Wed Aug 05, 2020 4:21 pm

Re: VBA SearchColumn แล้ว Error

#3

Post by omozk »

snasui wrote: Wed Aug 05, 2020 6:21 pm :D ชีตตามตัวแปร shSearchData ไม่มีข้อมูลในช่วง A1:P1 ก็เลย Match ไม่เจอครับ


แล้วทำไหมไฟล์ ตัวอย่างถึง Match เจอละครับพี่ทั้งๆที่ ใช้เหมือนกันแค่เปลี่ยน ข้อมูลใน Database
Attachments
Fully-Automated.xlsm
(45.28 KiB) Downloaded 9 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31214
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: VBA SearchColumn แล้ว Error

#4

Post by snasui »

:D ไฟล์ล่าสุด Code คือ

iColumn = Application.WorksheetFunction.Match(sColumn, shDatabase.Range("A1:I1"), 0)

ที่หาเจอเพราะชีตตามตัวแปร shDatabase มีหัวคอลัมน์ที่ใช้ในการค้นหาอยู่ครับ

ตัวแปร shDatabase คือชีต Database
ส่วนตัวแปร shSearchData ตามโพสต์ก่อนหน้าคือชีต SearchData ซึ่งไม่มีหัวคอลัมน์ใด ๆ ที่ใช้สำหรับการค้นหาครับ
omozk
Member
Member
Posts: 6
Joined: Wed Aug 05, 2020 4:21 pm

Re: VBA SearchColumn แล้ว Error

#5

Post by omozk »

ขอบคุณครับได้แล้ว แต่Search ข้อมูลแล้วไม่เจอสักข้อมูลเลยครับผมควรจะแก้ไขตรงไหนต่อไปครับ

iColumn = Application.WorksheetFunction.Match(sColumn, shDatabase.Range("A1:P1"), 0)
Attachments
Fu_Rev1.xlsm
(276.52 KiB) Downloaded 7 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31214
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: VBA SearchColumn แล้ว Error

#6

Post by snasui »

:D ปรับ Code ส่วนด้านล่างเสียใมม่ ตัวแปรจะต้องไม่ครอบด้วยฟันหนูครับ

Code: Select all

'Other
If frmForm.cmbSearchColumn.Value = "Companyname" Then

    shDatabase.Range("A1:P" & iDatabaseRow).AutoFilter Field:=iColumn, Criteria1:=sValue

Else

    shDatabase.Range("A1:P" & iDatabaseRow).AutoFilter Field:=iColumn, Criteria1:="*" & sValue & "*"

End If
'Other
omozk
Member
Member
Posts: 6
Joined: Wed Aug 05, 2020 4:21 pm

Re: VBA SearchColumn แล้ว Error

#7

Post by omozk »

ลองเอา " " ออกแล้ว
แต่ก็ยังหาข้อมูลไม่ได้ตามต้องการ
ต้องจัดการ code ยังไงครับ
Attachments
Fu_Rev11.xlsm
(274.72 KiB) Downloaded 8 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31214
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: VBA SearchColumn แล้ว Error

#8

Post by snasui »

:D เปลี่ยน Statement ตามด้านล่างให้ตรงกับเป้าหมายที่ต้องการครับ

If Application.WorksheetFunction.Subtotal(3, shDatabase.Range("C:C")) = 2 Then

Code นี้แปลว่านับค่าที่ไม่ได้ซ่อนในคอลัมน์ C แล้วได้ 2 รายการ ให้ทำงานตามเงื่อนไข ซึ่งผมลองเลือกเป็น Country แล้วเลือก Thai ค่าที่ Filter มาได้ประมาณ 170 รายการ ซึ่งไม่เท่ากับ 2 โปรแกรมขึ้นข้อความว่า Not Found ซึ่งเป็นการตรวจเช็คที่ไม่ถูกต้องครับ
omozk
Member
Member
Posts: 6
Joined: Wed Aug 05, 2020 4:21 pm

Re: VBA SearchColumn แล้ว Error

#9

Post by omozk »

snasui wrote: Thu Aug 13, 2020 9:21 pm :D เปลี่ยน Statement ตามด้านล่างให้ตรงกับเป้าหมายที่ต้องการครับ

If Application.WorksheetFunction.Subtotal(3, shDatabase.Range("C:C")) = 2 Then

Code นี้แปลว่านับค่าที่ไม่ได้ซ่อนในคอลัมน์ C แล้วได้ 2 รายการ ให้ทำงานตามเงื่อนไข ซึ่งผมลองเลือกเป็น Country แล้วเลือก Thai ค่าที่ Filter มาได้ประมาณ 170 รายการ ซึ่งไม่เท่ากับ 2 โปรแกรมขึ้นข้อความว่า Not Found ซึ่งเป็นการตรวจเช็คที่ไม่ถูกต้องครับ

ขอดู code ตัวอย่างหน่อยได้ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31214
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: VBA SearchColumn แล้ว Error

#10

Post by snasui »

:D ลองเปลี่ยนเครื่องหมาย = เป็น <> แล้วสังเกตผลที่ได้ครับ

การปรับ Code จะต้องทำมาเอง ติดแล้วค่อยถามกันต่อ เปิดโอกาสให้ถามกันได้ตลอดเวลาครับ
omozk
Member
Member
Posts: 6
Joined: Wed Aug 05, 2020 4:21 pm

Re: VBA SearchColumn แล้ว Error

#11

Post by omozk »

สามารถค้นหาได้แล้วครับ

ต่อมาผมได้ทำการ Line Notify to Excel แล้วอยากให้แสดงค่าที่ค้นหาจากข้อมูลข้างต้น แล้วส่งค่าไปยัง Line Notify
แบบเลือกฟิวที่จะให้ส่งไปยัง Line จะต้องใช้ code แบบไหนครับ
worksheets("SearchData"). range ("A1").value แบบนี้หรือป่าวครับ

yourMessage = "msg"

lineMessage = "message=" & yourMessage
Attachments
1re.PNG
1re.PNG (51.06 KiB) Viewed 58 times
2re.PNG
2re.PNG (62.63 KiB) Viewed 58 times
Report_VBA.xlsm
(275.95 KiB) Downloaded 6 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31214
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: VBA SearchColumn แล้ว Error

#12

Post by snasui »

omozk wrote: Wed Aug 19, 2020 4:49 pm worksheets("SearchData"). range ("A1").value แบบนี้หรือป่าวครับ
:D กรุณาลองตามนี้ ติดปัญหาใดค่อยนำมาถามกันต่อครับ

คำว่า "ป่าว" ให้ใช้คำอื่นแทน เช่น "เปล่า" หรือแทนด้วย "ไม่" จะได้ไม่ผิดกฎการใช้บอร์ดข้อ 1 ด้านบนครับ :roll:
Post Reply