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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#21
Post
by ศุภาพิชญ์ » Thu Mar 30, 2017 7:58 pm
ค่ะ ข้อมูลตัวอักษรไม่เท่ากันค่ะ พอมีทางไหมค่ะ
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#22
Post
by ศุภาพิชญ์ » Thu Mar 30, 2017 8:06 pm
ที่ขึ้นตัวแดง error พอcopyมา ก็จะชึ้ยกะพริบที่ sub test สีเหลือง กด fn f5 ใช่ไหมค่ะ แล้วเคอเซอวางตรงไหนค่ะ ขอบคุณค่ะ ยังขึ้นerror อยู่เลยค่ะ
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#23
Post
by ศุภาพิชญ์ » Thu Mar 30, 2017 8:13 pm
ต้องเอาเคอเซอวางตรงไหนค่ะ 1. Copy สูตรมาวางตรงmodule 2. แล้วกด save 3. กด f5 4. แต่ยังขึ้น error ตรงrange ("A1") .select ค่ะ เป็นสีแดง ขอบคุณค่ะ
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#24
Post
by ศุภาพิชญ์ » Thu Mar 30, 2017 8:15 pm
ต้องเอาเคอเซอวางตรงไหนค่ะ 1. Copy สูตรมาวางตรงmodule 2. แล้วกด save 3. กด f5 4. แต่ยังขึ้น error ตรงrange ("A1") .select ค่ะ เป็นสีแดง ขอบคุณค่ะ
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#26
Post
by snasui » Thu Mar 30, 2017 8:20 pm
หน้าบรรทัด Code ที่ติดสีแดง ให้ลบช่องว่างทิ้งให้หมดจน Code ชิดหน้าสุด เมื่อลบช่องว่างไปแล้ว Code ก็จะทำงานได้ จากนั้นค่อยจัดเยื้องตามต้องการครับ
ปกติการคัดลอก Code ไปวางให้คลิกข้อความ SELECT ALL ในกล่อง Code ไม่ควรลากคลุมเองแล้วคัดลอกไปใช้ครับ
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#27
Post
by ศุภาพิชญ์ » Thu Mar 30, 2017 10:09 pm
อาจารย์ค่ะ ไฟล์ที่อ.puriให้มาที่ชื่อ ไฟล์ data อันใหม่ ใส่code เปิดได้แล้วค่ะ ขอบคุณมากนะค่ะ แต่จะรบกวนพี่ๆ อาจารย์ค่ะ เห็นว่าต้องdata ต้องตัวอักษรเท่ากันแต่ไฟล์ที่จะได้มา ตัวอักษรไม่เท่ากันและมีบรรทัดประมาณ 20000 กว่าบรรทัด จะตัดตัวอักษรเวลาส่งไฟล์ไปก็จะไม่เป็นข้อความค่ะ รบกวนพี่ๆอาจารย์ค่ะ ขอบคุณมากนะค่ะ
ไฟล์ที่อาจารย์ puri ทำให้ค่ะขอบคุณพี่มากค่ะ แต่อาจารย์บอกว่า dataต้องเท่ากัน พอแก้ได้ไหมค่ะ เห็นว่าdata ที่จะได้มายาวและไม่เท่ากัน และมีตั้ง20000 เกือบ30000 บรรทัดค่ะ ขอบคุณมากค่ะ รบกวนจัง พยายามศึกษาค่ะ แต่งวดนี้งานเร่งมากมายค่ะ เลยทำไม่ทันค่ะ ขอบคุณจากใจค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#28
Post
by snasui » Thu Mar 30, 2017 10:31 pm
อ่านแล้วไม่เข้าใจครับ
ช่วยอธิบายมาอีกรอบพร้อมทั้งแนบไฟล์ตัวอย่าง ชี้ให้เห็นว่าปัญหาคืออะไร ต้องการคำตอบเป็นอย่างไร
data ต้องเท่ากันหมายถึง data ตรงไหนต้องเท่ากัน กรุณานำไปทดสอบก่อนที่จะแจ้งกลับ จะได้ทราบว่าเป็นปัญหาเช่นที่ว่านั่นหรือไม่ อย่างไรครับ
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#29
Post
by ศุภาพิชญ์ » Thu Mar 30, 2017 11:09 pm
Re: รบกวนค่ะ มีวิธีแยก sheet ได้ครั้งเดียวทีละมากๆ ค่ะ
รายงานในข้อความ
อ้างคำพูด
#20
โพสต์โดย puriwutpokin » พฤหัสฯ. มี.ค. 30, 2017 7:41 pm
ลองดูตามไฟล์แนบนะครับ ผมก็คัดลอกมาลงปกติครับ แต่อันหนึ่งที่ต้องเป็น คือ data ควรมีจำนวนเลขเท่ากันเช่น
data11
data01
ไม่ใช่
data11
data1
เพราะเวลาดึงข้อมูลมามันจะไม่ถูกต้องครับ
รบกวนค่ะ อาจารย์ พอดีทางแก้ไหมค่ะ ตรงคอลัมภ์ b และ e ค่ะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#30
Post
by ศุภาพิชญ์ » Thu Mar 30, 2017 11:21 pm
Code: Select all
Sub Test()
Dim xdata As String
For r = 2 To Range("E19").End(xlUp).Row
ThisWorkbook.ActiveSheet.Columns("H:J").EntireColumn.Delete
Range("F2").Value = Range("E" & r).Value
xdata = Range("F2").Value
Range("A1").Select
Selection.CurrentRegion.Select
Range("A1:C19").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"F1:F2"), CopyToRange:=Range("H1"), Unique:=True
ActiveSheet.Columns("H:J").Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & xdata & ".xlsx"
Application.CutCopyMode = False
ActiveWorkbook.Close True
Next r
End Sub
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#31
Post
by puriwutpokin » Thu Mar 30, 2017 11:26 pm
ลองรันดูก่อนครับ ผมลองรันบางครั้งมันจะฟิลเตอร์มาผิดเมื่อวาน แต่วันนี้ไม่ผิดแล้วครับ ลองเทสท์ดูเลยครับติดตรงไหนค่อยมาถามกันใหม่
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#32
Post
by ศุภาพิชญ์ » Fri Mar 31, 2017 12:08 am
อาจารย์ค่ะ ขอบคุณมากนะค่ะ รันได้แล้วค่ะ แต่ที่อาจารย์บอกเรื่อง data พอจะทำไงดีค่ะ ข้อมูลเยอะมากเลย ถ้าจะให้ไฟล์ดาต้าเท่ากัน ทุกตัวอักษร เห็นว่าไฟล์ที่จะส่งมาให้ทำ ตัวอักษรไม่เท่ากัน พี่เขาจะใส่วันที่ จำนวน และชือ เห็นว่ามีต้อง 20000 เกือบ 30000 บรรทัด จะมาแก้ทีละไฟล์ถ้าจะเสร็จไม่ท้นแน่เลยค่ะ พอดีทางหน่วยงานอื่นเขาจะส่งไฟล์มา แล้วเราก็แยกส่งต่ออีกที่หนึ่งค่ะ พอพี่เขาส่งมาเราก็ทำแต่พี่เขาบอกต้องรีบส่งไปภายในครึ่งชั่วโมง เพราะอีกทีต้องการด่วนค่ะ ขอบคุณอาจารย์มากเลยนะค่ะ สำหรับความช่วยเหลือในครั้งนี้ และพี่ๆ ทุกคนค่ะ
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#33
Post
by puriwutpokin » Fri Mar 31, 2017 8:02 am
ผมทดสอบแล้วเรื่อง data ไม่มีปัญหาครับ ส่วนเรื่องข้อมูลจำนวนมาก ให้ขยายช่วงด้วยครับ
Code: Select all
'โค้ดอื่น...
For r = 2 To Range("E30000").End(xlUp).Row
'โค้ดอื่น...
Code: Select all
'โค้ดอื่น...
Selection.CurrentRegion.Select
Selection.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"F1:F2"), CopyToRange:=Range("H1"), Unique:=True
ActiveSheet.Columns("H:J").Copy
'โค้ดอื่น...
Last edited by
puriwutpokin on Fri Mar 31, 2017 8:45 am, edited 4 times in total.
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#34
Post
by ศุภาพิชญ์ » Fri Mar 31, 2017 8:23 am
ขอบคุณอาจารย์และพี่ๆทุกท่านมากค่ะ
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#35
Post
by ศุภาพิชญ์ » Sun Apr 02, 2017 12:41 am
อาจารย์ค่ะ รบกวนค่ะ พอดีได้ file มาแล้วลองทำหลายรอบคอลัมภ์มาไม่ครบค่ะ ขอบคุณนะค่ะ
Code: Select all
Sub Test()
Dim xdata As String
For r = 2 To Range("CP22038").End(xlUp).Row
ThisWorkbook.ActiveSheet.Columns("CS:GF").EntireColumn.Delete
Range("CQ2").Value = Range("CP" & r).Value
xdata = Range("CQ2").Value
Range("A1").Select
Selection.CurrentRegion.Select
Selection.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"CQ1:CQ2"), CopyToRange:=Range("CS1"), Unique:=True
ActiveSheet.Columns("CS:GF").Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & xdata & ".xlsx"
Application.CutCopyMode = False
ActiveWorkbook.Close True
Next r
End Sub
ศุภาพิชญ์
Member
Posts: 51 Joined: Fri Mar 10, 2017 12:10 pm
#36
Post
by ศุภาพิชญ์ » Sun Apr 02, 2017 12:52 am
เหมือนถ้าข้อมูลมากๆ จะดึงคอลัมภ์มาได้แต่อันบนค่ะ ขอบคุณค่ะ
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#37
Post
by snasui » Sun Apr 02, 2017 7:45 am
ให้ถามพร้อมแนบไฟล์เสมอจะได้ช่วยทดสอบได้ครับ
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#38
Post
by puriwutpokin » Sun Apr 02, 2017 10:08 am
ผมลองทดสอบดูแล้วก็ปกตินะครับ แต่ต้องว่าข้อมูลที่แท้จริงเป็นอย่างไร ตามอาจารย์snasui แจ้งควรแนบไฟล์มาด้วยครับ