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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
bkkrong
Member
Posts: 60 Joined: Mon Jan 26, 2015 4:07 pm
Excel Ver: 2010
#1
Post
by bkkrong » Mon Dec 21, 2020 9:38 am
ถ้าผมดึงQuery ข้อมูลมา และทำ drop down ช่วงเลือกวันที่ ที่ต้องการ เพื่อ เอาข้อมูลที่ filterนั้น มาทำ pivot ได้หรือไม่ครับ
ถ้าได้ กรุณาช่วยเขียนตัวอย่างscriptด้วยครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Mon Dec 21, 2020 7:34 pm
อ่านแล้วเข้าใจว่าต้องการจะ Filter เลือกข้อมูลที่ต้องการไปทำ Pivot Table
หากข้อมูลมีไม่เกินจำนวนบรรทัดของ Excel สามารถ Filter ที่ Pivot Table ได้ ไม่ทราบว่าหากเลือกกรณีนี้มีข้อกังวลใดครับ
หากทำด้วย Power Query ก็สามารถจะ Filter จาก Power Query ได้เช่นกัน จากไฟล์ที่แนบมา ผมไม่สามารถเปิดเข้าไปดูข้อมูลด้วย Power Query ได้ครับ
bkkrong
Member
Posts: 60 Joined: Mon Jan 26, 2015 4:07 pm
Excel Ver: 2010
#3
Post
by bkkrong » Tue Dec 22, 2020 12:00 pm
ครับ ถูกต้องครับ
ผมอยากเลือกช่วงวันที่ที่สร้างไว้ ใน B1 and D1 เมื่อเลือกเสร็จ pivot จะแสดงผลรวมในช่วงที่เลือกไว้ครับ
ผมส่งexcelใหม่ให้ครับ
You do not have the required permissions to view the files attached to this post.
bkkrong
Member
Posts: 60 Joined: Mon Jan 26, 2015 4:07 pm
Excel Ver: 2010
#4
Post
by bkkrong » Wed Dec 23, 2020 11:16 pm
ผมพยายามเขียน script โดยการคัดลอก sheet "database" มาใส่ใน sheet "Fee schdule" โดยให้มันเลือกช่วงเวลา ใน B1 and D1 โดยกดปุ่ม ปรากฎว่า มันคัดลอกมาหมด ไม่เลือกวันเลย ไม่ทรายจะปรับ script อย่างไรครับ
Code: Select all
Sub EditDT()
Sheets("Fee schdule").Range("A7:H1000").ClearContents
Sheets("database").Columns("A:F").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("B1:D3"), CopyToRange:=Range("B7"), Unique:=False
End Sub
You do not have the required permissions to view the files attached to this post.
logic
Gold
Posts: 1510 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#5
Post
by logic » Thu Dec 24, 2020 4:05 pm
ลองดูว่าได้ไหมครับ
ชีต database กรอกสูตร
I2 =A2>='Fee schdule'!$B$1
J2 =A2<='Fee schdule'!$D$1
เขียนโค้ด
Code: Select all
'...
Sheets("Fee schdule").Range("b6").CurrentRegion.Clear
Sheets("database").Range("Table_Fee_schdule[#All]").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Sheets("database").Range("I1:J2"), CopyToRange _
:=Range("B6"), Unique:=False
'...
หมายเหตุ: ชีต Fee schdule ลบ table ออกก่อน
bkkrong
Member
Posts: 60 Joined: Mon Jan 26, 2015 4:07 pm
Excel Ver: 2010
#6
Post
by bkkrong » Fri Dec 25, 2020 8:40 pm
run แล้ว เหมือนไม่เข้าใจช่วงวันที่ๆ กำหนด เลย copy ความว่างเปล่าเข้ามาครับ
puriwutpokin
Guru
Posts: 3792 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#7
Post
by puriwutpokin » Sat Dec 26, 2020 12:14 am
ที่ ชีต Fee schdule เซล B1 ใส่ค่าวันที่ให้เป็นรูปแบบเดียวกับที่ ชีต database เช่น 04/11/2020 ไม่ใช่ 4/11/2020 ครับ
ทำตามคุณ logic
ชีต database กรอกสูตร
I2 =A2>='Fee schdule'!$B$1
J2 =A2<='Fee schdule'!$D$1
ตัวอย่างโค้ดครับ
Code: Select all
'Other...
Range("Table_Fee_schdule[#All]").AdvancedFilter 2, Sheets("database").[i1:j2], Sheets("Fee schdule").[b6:h6], False
'Other...
bkkrong
Member
Posts: 60 Joined: Mon Jan 26, 2015 4:07 pm
Excel Ver: 2010
#8
Post
by bkkrong » Tue Dec 29, 2020 1:37 pm
เรียน อ. puriwutpokin และ อ. logic
ช่วยดูให้ผมอีกครั้ง ทำไม ช่อง database I2 J2 จึงเป็น true กะ false ครับ
และrun script ไม่ผ่าน
ขอบคุณครับ
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
#9
Post
by puriwutpokin » Tue Dec 29, 2020 2:57 pm
bkkrong wrote: Tue Dec 29, 2020 1:37 pm
เรียน อ. puriwutpokin และ อ. logic
ช่วยดูให้ผมอีกครั้ง ทำไม ช่อง database I2 J2 จึงเป็น true กะ false ครับ
และrun script ไม่ผ่าน
ขอบคุณครับ
ตามที่เคยแจ้ง วันที่ ต้องให้เหมือนกัน ที่ B2 ควรเป็น 01/12/2020 ไม่ใช่ 1/12/2020
และต้องลบ Table ออกด้วยครับ แก้โค้ดใหม่อีกทีครับ