snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wang13
Member
Posts: 5 Joined: Sat Aug 23, 2014 9:43 pm
#1
Post
by wang13 » Wed Oct 15, 2014 4:52 pm
ก่อนอื่นต้องขอโทษด้วยครับที่ตั้งหัวข้อแค่นั้น แต่จริงๆแล้วผมมีเรื่องรบกวนอยู่หลายข้อเหมือนกันครับ
1.เรื่องการvlookup ผมพอรู้สาเหตุว่า ข้อมูลใน call มันคนละcodeกัน แต่ผมไม่รู้วิธีแก้ครับ(คือผมไม่เคยเรียน office ในโรงเรียนมาก่อน ที่ทำอยู่ก็อ่านแล้วเลียนแบบมาทั้งนั้น)
2.เรื่องการตั้งค่ารูปแบบ pivot ครับ เนื่องจากบางfile ที่ดึงข้อมูลเข้ามา ต้องเอามาpivot ก่อนเพื่อ ให้จำนวน+กัน แต่pivot จะมีช่องที่มีข้อความ (ว่าง) อยู่ทำให้ตารางคำนวนต่อไม่ได้ จะแก้ยังไงได้บ้างครับ (ขอโทษครับลืมบอกไป เจ้านายต้องการให้มันเป็นแบบ อัตโนมัติ ผมเลยต้องหา copy vba กับใช้ มาโครเข้ามาช่วยครับ)
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Wed Oct 15, 2014 6:41 pm
ควรอธิบายมาทีละปัญหาว่าปัจจุบันขั้นตอนการทำงานเป็นอยา่งไร ติดขัดตรงไหน เมื่อแก้ได้แล้วค่อยไปยังปัญหาถัดไป เช่นนี้เรื่อย ๆ ค่อย ๆ แก้ไปทีละเปลาะครับ
กรณีใช้ Code VBA ต้องทำตามกฎการใช้บอร์ดข้อ 5 ด้านบนครับ
wang13
Member
Posts: 5 Joined: Sat Aug 23, 2014 9:43 pm
#3
Post
by wang13 » Wed Oct 15, 2014 7:10 pm
ขอโทษด้วยครับที่ตั้งคำถามไม่เรียบร้อย
คือfileที่แนบเป็นงานที่กำลังทำอยู่ครับ มีcode vbaในfileแล้วครับ ไม่แน่ใจว่ายังต้องแยกcodeออกมาต่างหากอีกรึเปล่าครับ
ปัญหาที่ผมเจอคือ
1.พอvbaดึงข้อมูลจากfile taxt ที่ชื่อA-003-00 เป็นชุดแรก แล้ว ผมให้vba ทำการpivot ในชีสA1แล้วcopy ข้อมูลมาวางในชีสA
ต่อมาก็runมาโครtเพื่อดึงข้อมูลจากfile A-003-0 มาไว้ที่ชีส T แล้วให้มาโครสร้างสูตร ทำvlookupไปไว้ที่ชีส สรุป แต่มันมีบางเซลที่ติดปัญหาเรื่องcodeที่ไม่ตรงกัน
ลืมบอกไปครับ คือข้อมูลexportออกมาจากโปรแกรมexpress ผมใช้สูตรเพื่อตัดเคาะและช่องว่างแล้วแต่พอต้องทำvlookupแล้วรหัสมันไม่ชนกันครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Wed Oct 15, 2014 7:24 pm
มี Code ในไฟล์แล้วก็ต้องระบุลำดับการทำงานเป็นขั้น ๆ ให้ทดสอบได้ว่าต้องทดสอบอย่างไร ปัญหาที่เกิดนั้นเกิดในขั้นตอนใด ที่ถูกควรเป็นอย่างไร Code ที่ใช้ชื่ออะไร ติดขัดบรรทัดใด ชีทใดที่เกิดค่าผิดพลาด ค่าที่ถูกต้องคือค่าใด เช่นนี้เป็นต้น
คัดลอกเฉพาะ Code ที่มีปัญหามาถามก็จะยิ่งทำให้เข้าถึงปัญหาได้โดยไวครับ
หากเกิดปัญหาเฉพาะการดึง Text File ก็ควรคัดเอาเฉพาะส่วนที่เป็นปัญหามาถาม ให้เคลียร์เป็นเรื่อง ๆ ไป ไม่ควรถามรวม ๆ ให้ถามเจาะเป็นจุด ๆ เพื่อ Clear ไปทีละประเด็นครับ
wang13
Member
Posts: 5 Joined: Sat Aug 23, 2014 9:43 pm
#5
Post
by wang13 » Thu Oct 16, 2014 9:55 am
ผมตั้งคำถามไม่ดีเอง เอาใหม่ครับขอแก้ทีละจุดอย่างที่อาจารย์บอกนะครับ
อย่างแรก(จากfile แนบครับ ) ที่ชีส Aและ T เป็นข้อมูลที่ดึงมาจากExpress ต้องการทำvlookup แต่ชีสA ต้องทำ pivot เพื่อรวมรหัสสินค้าที่ช้ำกัน ผมจึงให้ pivot ไว้ที่ๅชีส A1 แล้วcopy มาลงที่ชีสA ใน คอลัมน์ F:I แล้วcopy มาทับในคอลัมน์ A:D อีกที แล้วนำไปvlookup ในชีส สรุป
แต่ในหน้าสรุปนั้นบางแถว รหัสสินค้าไม่สามารถ vlookup มาเจอกันได้ครับ อย่างที่แถวที่45 เป็นต้น ไม่รู้ว่าผมควรจะใช้สูตรอะไรแก้ดีครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Thu Oct 16, 2014 4:49 pm
เปลียนสูตรใหม่เป็น Lookup จากคอลัมน์ B แทน เนื่องจากมีค่าที่เหมือนกัน คือมีวรรคนำหน้าค่าในเซลล์
ตัวอย่างสูตรตามด้านล่างครับ
=IFERROR(VLOOKUP(A45,T!$B$1:$G$1010,4,FALSE),0)
wang13
Member
Posts: 5 Joined: Sat Aug 23, 2014 9:43 pm
#7
Post
by wang13 » Thu Oct 16, 2014 5:58 pm
ขอบคุณครับอาจารย์
ผมลองแก้ดูแล้วใช้ได้แล้วครับ
ขอรบกวนสอบถามเพิ่มอีกนิดครับ ที่ชีส A1 เรามีวิธีให้ pivot ซ่อนช่องว่างในคอลัมน์ A อัตโนมัติยังไงครับ
ไม่งั้นที่ชีสสรุปจะคำนวณต่อไม่ได้ครับ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#8
Post
by snasui » Fri Oct 17, 2014 7:06 am
คำว่า "ชีส" ที่ถูกคือ "ชีท" หรือ "ชีต" ครับ
การนำข้อมูลมาทำ PivotTale ข้อมูลควรอยู่ในรูปแบบฐานข้อมูล สมมุติว่าคอลัมน์ A เป็นคอลัมน์แรกของตารางก็ไม่ควรมีค่าว่างในคอลัมน์ A ไม่เช่นนั้นการไม่เอาค่าว่างจะต้องปลดค่า Blanks ใน PivpotTable ทิ้งไปครับ
wang13
Member
Posts: 5 Joined: Sat Aug 23, 2014 9:43 pm
#9
Post
by wang13 » Fri Oct 17, 2014 12:08 pm
ขอโทษด้วยครับที่ใช้คำผิด
แล้วก็ขอคุณด้วยครับกับคำแนะนำทั้งหมด เดี๋ยวผมจะลองไปคิดต่ออีกทีครับ
ขอบคุณมากครับ ติดตรงไหนจะเข้ามารบกวนใหม่ครับ