snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
brakubra
Member
Posts: 19 Joined: Fri Dec 13, 2013 1:42 pm
#1
Post
by brakubra » Fri Apr 24, 2015 12:12 pm
ผมจะกรอกข้อมูลลงใน Sheet Stock
และเมื่อผมจะค้นหาข้อมูล ผมก็จะนำรหัสสินค้าไปค้นหาในหน้า report ข้อมูลก็จะแสดงขึ้นมาทั้งหมดที่มีการบันทึกลงไป
แต่ตอนนี้ข้อมูลที่ผมกรอกไปตั้งแต่บรรทัดที่ 2221 จะไม่แสดงมาในหน้า report
ผมเคยเพิ่ม บรรทัดไปในสูตรได้ แต่ตอนนี้ผมจำวิธีการเพิ่มบรรทัดที่จะนำมาแสดงไม่ได้ครับ
จะรบกวนอาจารย์ผู้รู้ทุกท่านช่วยแนะนำวิธีการเพิ่มบรรทัดที่จะนำมาแสดงด้วยครับ
You do not have the required permissions to view the files attached to this post.
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#2
Post
by DhitiBank » Fri Apr 24, 2015 12:53 pm
สาเหตุคือ ช่วงที่อ้างอิงในสูตรไม่ตรงกับข้อมูลที่มีอยู่ในปัจจุบันครับ เช่น สูตรใน A9
=IFERROR(INDEX(Stock!A$6:A$2221 ,SMALL(IF(Stock!$D$6:$D$2221=$D$6,ROW(Stock!$A$6:$A$2221)-ROW(Stock!$A$6)+1),ROWS(A$9:A9))),"")
จะเห็นว่าอ้างอิงถึงข้อมูลในชีท Stock ถึงแถวที่ 2221 แต่ข้อมูลจริงตอนนี้มีถึงแถว 2230 ทำให้สูตรเรียกมาแสดงไม่ครบครับ
แก้โดยการปรับช่วงในสูตรให้สอดคล้องกับข้อมูลจริงครับ หรือหากมีการเพิ่มข้อมูลอยู่เรื่อยๆ ก็อาจสร้าง Named Range แบบไดนามิคเอาไว้ แล้วเอามาปรับในสูตร