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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sakajohn
Member
Posts: 229 Joined: Tue Aug 06, 2013 10:55 am
Excel Ver: 2010
#1
Post
by sakajohn » Thu Mar 05, 2020 5:58 pm
รบกวนช่วยดูสูตรให้ด้วยครับว่าผิดตรงไหน การทำงานคือ ที่ Sheet 2 จะค้นหาข้อมูลงานที่ยังไม่ได้วางแผนจาก Sheet 1 นำข้อมูลมาใส่ใน sheet 2 คือ ถ้าข้อมูลประมาณ 946 แถวจะแสดงข้อมูลครับ แต่ถ้าข้อมูลมากกว่านี้ เช่น 947 จะ Error ครับ ข้อมูลจริงประมาณ 3000 กว่าครับ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3792 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#2
Post
by puriwutpokin » Thu Mar 05, 2020 9:41 pm
ลองว่างโค้ดที่ติดปัญหามา ในรูปแบบโค้ดดูครับ และ เงื่อนไขการนำข้อมูลมานั้น คือจากไฟล์ไหนไปไฟล์ไหนครับ แนบไฟล์ทั้งหมดมาดูด้วยครับ
sakajohn
Member
Posts: 229 Joined: Tue Aug 06, 2013 10:55 am
Excel Ver: 2010
#3
Post
by sakajohn » Fri Mar 06, 2020 8:51 am
ไม่ได้ใช้โค้ดครับ ใช้สูตรมีไฟล์เดียวครับ ผมใส่ข้อมูลที่ Sheet 1 โดยจะมีข้อมูลที่วางแผนแล้ว และยังไม่ได้วางแผน แสดงอยู่ที่ Columm Z จากนั้นที่ sheet 2 จะดึงข้อมูล เงื่อนไขเฉพาะที่ยังไม่วางแผน มาทั้งหมด จากนั้นแยกตามเครื่อง M01 M02.... ว่ามีกี่รายการที่ยังไม่ได้วางแผน โดยใช้สูตร
Code: Select all
=IF(ROWS(A$6:A6)>$O$4,"",INDEX(INDIRECT("'"&$M6&"'!a2:a10000"),SMALL(IF(INDIRECT("'"&$M6&"'!Z2:Z10000")=$B$2,ROW(INDIRECT("'"&$M6&"'!Z2:Z10000"))-MIN(ROW(INDIRECT("'"&$M6&"'!a2:a10000")))+1),COUNTIF($M$6:$M6,$M6))))
ปัญหาคือ ถ้า sheet1 มีข้อมูลแค่ 946 แถว sheet2 จะแสดงข้อมูลขึ้นมา แต่ถ้าข้อมูลเกิน 946 แถว sheet2 จะเป็น #VALUE! ไม่ทราบว่าเป็นเพราะอะไรครับ
sakajohn
Member
Posts: 229 Joined: Tue Aug 06, 2013 10:55 am
Excel Ver: 2010
#4
Post
by sakajohn » Fri Mar 06, 2020 10:03 am
เจอสาเหตุแล้วครับ ในsheet1 colum Z ที่เป็นตัวค้นหา มีค่าที่เป็น #Value! อยู่ครับ ทำให้ไม่แสดงผล