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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sup
Member
Posts: 136 Joined: Mon Sep 13, 2010 11:36 am
#1
Post
by sup » Tue Oct 05, 2010 6:01 pm
สวัสดีครับอาจารย์ วันนี้มีคำถาม ที่ไม่แน่ใจว่า Excel จะทำได้ไหม ถ้าไม่เขียน VBA
ตัวอย่างและคำถามอยู่ในไฟล์แนบครับ
อีก 1 คำถาม
กรณีที่ ใส่ข้อมูลใน Excelไปมากๆแล้ว พอเราทำการลบข้อมูลเก่าๆออก ทำไม่ พื้นที่จึงว่างลงน้อยมากครับ ทำอย่างไรให้มีพื้นที่มากครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30944 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Tue Oct 05, 2010 6:29 pm
ช่วยทำตัวอย่างคำตอบที่ถูกต้องมาด้วยครับ เพื่อให้มั่นใจว่าผมเข้าใจถูกต้องและจะได้เขียนสูตรเปรียบเทียบคำตอบครับ
สำหรับการลบข้อมูลออกโปรแกรมยังจำพื้นที่ทำงานเอาไว้ครับ ดังนั้นให้ลบแบบ Delete Row ตั้งแต่ Row ว่างจนถึง Row สุดท้าย
ด้าน Column ก็เช่นเดียวกันจากนั้นคลิก Save เพื่อ Reset พื้นที่ใช้งานใหม่ครับ
sup
Member
Posts: 136 Joined: Mon Sep 13, 2010 11:36 am
#3
Post
by sup » Wed Oct 06, 2010 3:29 pm
สมมติว่าข้อมูลอยู่ 100 บรรทัด(1-100)แล้วต้องการลบข้อมูลที่ 1 - 50 ใช้วิธีเดียวกันหรือไม่ครับ
snasui
Site Admin
Posts: 30944 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Wed Oct 06, 2010 3:45 pm
sup wrote: สมมติว่าข้อมูลอยู่ 100 บรรทัด(1-100)แล้วต้องการลบข้อมูลที่ 1 - 50 ใช้วิธีเดียวกันหรือไม่ครับ
เพื่อให้มั่นใจว่าโปรแกรมได้ Reset เซลล์สุดท้ายที่มีการใช้งานหลังจากลบบรรทัดที่ 1-50 ทิ้งไปแล้วลอง Save แล้วสักครั้ง
จากนั้นกดแป้น Ctrl+End เพื่อดูว่าเซลล์สุดท้ายที่โปรแกรมจดจำว่ามีการใช้งานอยู่ที่ใด ถ้าอยู่ในพื้นที่ว่างซึ่งไม่ได้ใช้งานแล้วก็ให้ลบตามที่ผมบอกด้านบนเพื่อ Reset พื้นที่การใช้งานใหม่ เป็นการลดขนาดไฟล์จากการจองพื้นที่การใช้งานของโปรแกรมครับ
sup
Member
Posts: 136 Joined: Mon Sep 13, 2010 11:36 am
#5
Post
by sup » Wed Oct 06, 2010 3:57 pm
ขอบคุณครับอาจารย์
กำลังทำตัวอย่างอยู่ครับ สักครู่จะส่งให้ครับ
sup
Member
Posts: 136 Joined: Mon Sep 13, 2010 11:36 am
#6
Post
by sup » Thu Oct 07, 2010 10:02 am
ผมเพิ่มเติมข้อความในไฟล์แนบครับ ไม่แน่ใจว่าอธิบายถูกไหน เขียนเองชักงงเองครับ
รบกวนอาจารย์นะครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30944 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#7
Post
by snasui » Thu Oct 07, 2010 6:52 pm
sup wrote: ผมเพิ่มเติมข้อความในไฟล์แนบครับ ไม่แน่ใจว่าอธิบายถูกไหน เขียนเองชักงงเองครับ
รบกวนอาจารย์นะครับ
ในกรอบสี่เหลี่ยมแดงที่ให้มาคือตัวอย่างคำตอบที่ถูกต้องแล้วหรือเปล่าครับ เนื่องจากเห็นเป็นสูตรอยู่แล้ว ถ้ายังไม่ใช่ ผมขอตัวอย่างคำตอบที่ถูกต้องมาด้วยครับ ส่วนคำอธิบายถ้าไม่เคลียร์ผมค่อยขอเพิ่มเรื่อย ๆ ครับ
snasui
Site Admin
Posts: 30944 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#8
Post
by snasui » Sun Oct 10, 2010 7:27 am
ผมลองเขียนสูตรมาให้ก่อนตามที่คิดว่าน่าจะเป็นคำตอบ ลองดูตามไฟล์แนบนะครับ
You do not have the required permissions to view the files attached to this post.
sup
Member
Posts: 136 Joined: Mon Sep 13, 2010 11:36 am
#9
Post
by sup » Mon Oct 11, 2010 3:54 pm
1 ขอบคุณครับอาจารย์ ช่วงปลายสัปดาห์ที่แล้วไม่อยู่ครับเลยเปิดดูช้าไป นี่ก็เพิ่งจะประชุมเสร็จครับ
ผมขอตรวจสอบก่อนนะครับว่า OK ไหม ถ้ายังก็ต้องขอรบกวนอาจารย์อีกนะครับ หวังว่าไม่ขัดคล่องนะครับ
แล้วผมจะแจ้งผลให้ทราบครับ ขอขอบคุณอย่างมากอีกครั้งครับ
2. สงสัยครับ ขอถ้าเรื่องเล็กอีกข้อครับ ที่ไฟล์แนบขึ้นว่า "ดาวน์โหลด 6 ครั้ง" แสดงว่ามีการเปิดดู 6 ครั้งแล้วใช่ไหมครับ และคนเปิดเป็นสมาชิกท่านอื่นใช่ไหมครับ
ที่ถาม คือถ้าเป็นสมาชิกก็อยากให้มีการแจ้งให้ทราบว่าตัวอย่างไฟล์เป็นประโยชน์แก่สมาชิกไหม เพราะผมเองก็เคยเปิดดูของท่านอื่นๆ ก็ได้ประโยชน์มาก็เยอะครับ
ถ้าทำให้เป็นให้ดาวได้ก็ดีนะครับ
snasui
Site Admin
Posts: 30944 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#10
Post
by snasui » Mon Oct 11, 2010 4:16 pm
sup wrote: 1 ...
2. สงสัยครับ ขอถ้าเรื่องเล็กอีกข้อครับ ที่ไฟล์แนบขึ้นว่า "ดาวน์โหลด 6 ครั้ง" แสดงว่ามีการเปิดดู 6 ครั้งแล้วใช่ไหมครับ และคนเปิดเป็นสมาชิกท่านอื่นใช่ไหมครับ
ที่ถาม คือถ้าเป็นสมาชิกก็อยากให้มีการแจ้งให้ทราบว่าตัวอย่างไฟล์เป็นประโยชน์แก่สมาชิกไหม เพราะผมเองก็เคยเปิดดูของท่านอื่นๆ ก็ได้ประโยชน์มาก็เยอะครับ
ถ้าทำให้เป็นให้ดาวได้ก็ดีนะครับ
ถูกต้องแล้วครับ สำหรับการให้คะแนนสมาชิกคงต้องลงโปรแกรมเสริมที่เรียกว่า MOD ผมยังไม่มีเวลาศึกษาเพื่อนำมาใช้งานเลยครับ หากมีเวลาแล้วจะลองศึกษาและนำมาให้ใช้กันครับ
sup
Member
Posts: 136 Joined: Mon Sep 13, 2010 11:36 am
#11
Post
by sup » Mon Oct 11, 2010 4:29 pm
ผมลองดูเบื้องต้นแล้วน่าจะ OK ครับ แต่ไม่เข้าใจในสูตรที่อาจารย์เขียนครับ อยากให้ช่วยอธิบายให้หน่อย โดยเฉพาะตรง 9.99999999999999E+307 (หากอธิบายได้แต่ละช่วงได้ก็ดีครับ) ผมจะได้เอาไปประยุกต์ใช้ต่อ แต่ถ้าอาจารย์ไม่ว่างก็ไม่เป็นไรครับ อย่างไรเสียผมก็รู้สึกเป็นพระคุณอย่างยิ่งครับ ขอบคุณมากๆครับ
snasui
Site Admin
Posts: 30944 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#12
Post
by snasui » Mon Oct 11, 2010 4:37 pm
สำหรับ 9.99999999999999e307 คือค่าที่ใหญ่ที่สุดที่สามารถคีย์ลงไปในเซลล์ได้ครับ
การนำมาใช้กับฟังก์ชั่น Lookup เช่น
=Lookup(9.99999999999999e307,A:A)
จะมีความหมายว่าให้หา
ค่าสุดท้ายที่เป็นตัวเลข ในคอลัมน์ A
ดูคำอธิบายเพิ่มเติมที่นี่ครับ
http://snasui.blogspot.com/2008/11/blog-post_09.html
sup
Member
Posts: 136 Joined: Mon Sep 13, 2010 11:36 am
#13
Post
by sup » Thu Oct 14, 2010 5:00 pm
ขอโทษครับอาจารย์ที่ตอบผลการใช้งานช้าไปหน่อย ช่วงนี้ค่อนข้างงานเยอะครับ ต้องขอโทษอีกครั้งครับ
ผลตามสูตรที่อาจารย์ให้มาผมปรับติดหน่อยก็ใช้ได้เลยครับ รู้สึก Happy มากๆครับที่มีอาจารย์คอยช่วยเหลือ ทำให้งานพัฒนาได้มากเลยครับ ขอขอบคุณมากๆครับ