วิธีทำให้ VBA Run คำสั่ง ณ เวลาที่ต้องการ 1

วิธีทำให้ VBA Run คำสั่ง ณ เวลาที่ต้องการ

จากที่ผมสอนวิธีการส่ง line/email ด้วย excel ไป ทำให้มีหลายคนถามมาหลังไมค์ว่า ทำยังไงถึงจะให้ VBA มันแจ้งเตือน ณ เวลาใดเวลาหนึ่งที่ต้องการได้? เช่น บางคนอาจเอาไปส่งเตือนลูกค้า บางคนเอาไว้ส่งเรื่องหุ้น อะไรแบบนี้ การที่จะทำแบบนั้นได้ แปลว่ามันต้องมี Event/Trigger บางอย่างเกิดขึ้น ดังนั้นใบบทความนี้จะสอนว่าทำยังไงถึงจะรัน VBA ในเวลาที่กำหนดได้ครับ สร้าง Action ขึ้นมาก่อน สมมติว่าผมสร้าง sub เพื่อแสดง msgbox ธรรมดาๆ ไว้ใน Module 1 ดังนี้ (ให้แสดง msgbox นี่แหละ ง่ายสุดในสามโลกแล้ว) Sub TestMacro1() MsgBox ("Test Run Macro Number 1") End Sub Sub TestMacro2()…
วิธีทำให้ Pivot Table และ Power Query อัปเดทโดยไม่ต้องกด Refresh เอง 2

วิธีทำให้ Pivot Table และ Power Query อัปเดทโดยไม่ต้องกด Refresh เอง

ปฏิเสธไม่ได้ว่า Pivot Table เป็นเครื่องมือที่ใช้สรุปข้อมูลได้สุดยอดและง่ายมากๆ แต่ปัญหาหลักๆ ของการทำ Pivot ไม่ได้เกิดขึ้นขณะทำ Pivot แต่อยู่ที่ขั้นตอนเตรียมข้อมูลก่อนจะเอาไป Pivot ต่างหาก ซึ่ง Power Query ก็เข้ามาตอบโจทย์นี้ได้ และถ้าใครได้ลองใช้แล้วคงพบว่ามันเป็นเครื่องมือที่เตรียมข้อมูลได้สุดยอดมากๆ (ผมว่ามันเหมือนกับความรู้สึกที่เราได้รู้จักกับ Pivot Table ใหม่ๆนั่นแหละ) อย่างไรก็ตาม ทั้ง Pivot Table และ Power Query ต่างก็ยังมีข้อจำกัดสำคัญ คือ มันจะต้องมีการ Refresh ก่อน ถึงจะดูดข้อมูลที่อัปเดทล่าสุดมาจัดการต่อ แต่จะทำยังไงให้มันอัปเดทอัตโนมัติ มาดูกันครับ ความสัมพันธ์ของ Pivot Table กับ Power Query Refresh ถ้าเราผูก Pivot Table กับ Power Query เอาไว้ด้วยกันแล้ว…
วิธีส่งข้อความแจ้งเตือน (Notification) จาก Excel เข้า Line หรือ Email : ภาค4 3

วิธีส่งข้อความแจ้งเตือน (Notification) จาก Excel เข้า Line หรือ Email : ภาค4

และแล้วเราก็เดินทางมาถึงภาค 4 ของการส่งข้อความแจ้งเตือนแล้ว ซึ่งผมคิดว่าตอนนี้จะให้เป็นตอนจบแล้วล่ะ เพราะมันยาวเกินไปแล้ว 555 ใครยังไม่ได้อ่าน 3 ตอนก่อนหน้าเชิญได้ที่ https://www.thepexcel.com/excel-line-email-notification-pt1/https://www.thepexcel.com/excel-line-email-notification-pt2/https://www.thepexcel.com/excel-line-email-notification-pt3/ ในตอนนี้เราจะไล่เก็บตกเรื่องเจ๋งๆ ที่ยังไม่ได้ทำใน 3 ตอนที่แล้ว ดังนี้ เก็บตก 1 : วิธีส่งข้อความแจ้งเตือน Line Notification เข้า Group Chat ก่อนหน้านี้ที่ผมสอนไปเป็นการส่ง Line ไปหา Line Notify ซึ่งเราจะเห็นอยู่คนเดียว ซึ่งไอแบบนี้มันเอาไปใช้งานจริงได้ลำบาก เพราะจะเป็นการเตือนตัวเองได้อย่างเดียว (จริงมะ) ถ้าจะให้เกิดประโยชน์จริงๆ มันต้องแจ้งเตือนไปให้คนอื่นเห็นได้ด้วยสิ! แต่เราไม่สามารถส่ง Line ไปหาคนอื่นได้แบบเดี่ยวๆ ตรงๆ แต่ว่าสิ่งที่ทำได้คือส่งเข้า Group Chat ที่มีคนอื่นอยู่ด้วย แบบนี้ถึงจะทำได้ครับ Generate Token ใหม่สำหรับ Group Chat ก่อนอื่นให้ไป…
วิธีส่งข้อความแจ้งเตือน (Notification) จาก Excel เข้า Line หรือ Email : ภาค 3 4

วิธีส่งข้อความแจ้งเตือน (Notification) จาก Excel เข้า Line หรือ Email : ภาค 3

ตอนนี้เป็นภาค 3 แล้ว ซึ่งจะขอตัดฉากกลับมาที่การใช้ Line อีกครั้งนะครับ คราวนี้เราจะแสดงตัวอย่างการประยุกต์ใช้ Line Notify ในการส่งข้อความแจ้งเตือนจากข้อมูลที่อยู่ในไฟล์ Excel ของเราบ้างแล้วล่ะ ใครยังไม่ได้อ่านตอนแรกก็เชิญไปอ่านก่อนนะ ไม่งั้นทำต่อไม่ได้นะครับ ตัวอย่าง : ข้อความแจ้งเตือนเมื่อ Project เลยกำหนด Deadline ก่อนอื่น ผมลองเตรียมข้อมูลสมมติว่าเป็นแบบนี้ก่อน นั่นคือมี Project หลายอัน แต่ละอันมี Deadline แล้วก็บอกว่าทำเสร็จไปแล้วรึยัง? เป้าหมายคือ จะให้ส่ง Line Notify ไปเตือนเฉพาะอันที่เลย Deadline แล้วยังไม่เสร็จ (พร้อม Sticker หน้าโกรธ) เพื่อให้ง่ายต่อการอ้างอิง ผมจะแปลงข้อมูลให้เป็น Table ซะก่อน (โดยกด Insert->Table หรือ Ctrl+T) และตั้งชื่อว่า ProjectTable จากนั้นเราจะลองอ้างอิงข้อมูลใน Table…
วิธีส่งข้อความแจ้งเตือน (Notification) จาก Excel เข้า Line หรือ Email : ภาค 2 5

วิธีส่งข้อความแจ้งเตือน (Notification) จาก Excel เข้า Line หรือ Email : ภาค 2

ในตอนที่แล้วเราใช้ Excel VBA ส่งข้อความแจ้งเตือนเข้า Line กันไปแล้ว (แต่ยังไม่จบนะ) ในตอนนี้เราจะขอสลับฉากมาดูวิธีส่งเข้า Email กันบ้างครับ 555 การส่งบางอย่างจาก Excel เข้า Email ผมขอแบ่งออกเป็น 4 วิธีหลักๆ ดังนี้ ใช้ Insert Hyperlinkใช้สูตร HYPERLINKใช้ VBA ส่งผ่าน Outlookใช้ VBA ส่งผ่านช่องทางอื่นๆ เช่น Gmail เรามาดูแต่ละวิธีกันครับ เพราะมันไม่เหมือนกันเลย... เน้นย้ำว่านี่เป็นวิธีส่งข้อความจาก Excel ผ่านบริการ Email ของผู้ให้บริการต่างๆ ไปที่ปลายทาง ซึ่งคนรับปลายทางเป็นเมลอะไรก็ได้นะครับ แต่คนส่งเป็นวิธีตามที่ผมบอกนี้ ปล. บทความนี้ยาวมาก ถ้าไม่อยากอ่านทั้งหมดให้กดไปดูวิธีที่ตัวเองสนใจได้เลย ใช้ Insert Hyperlink วิธีนี้ง่ายสุด แต่ก็ทำอะไรได้น้อยสุดด้วย เพราะมันแค่ส่งข้อความบางอย่างจาก Excel…
วิธีส่งข้อความแจ้งเตือน (Notification) จาก Excel เข้า Line หรือ Email : ภาค 1 6

วิธีส่งข้อความแจ้งเตือน (Notification) จาก Excel เข้า Line หรือ Email : ภาค 1

ปฏิเสธไม่ได้เลยว่าเรื่องการแจ้งเตือนจาก Excel ไปยัง Line หรือ Email เป็นสิ่งที่หลายๆ คนอยากรู้ แต่ยังทำไม่เป็น ไม่เป็นไรเดี๋ยวบทความนี้ผมจะอธิบายให้เอง บอกไว้ก่อนว่าการทำ Notification จาก Excel ไปยังที่ต่างๆ นี่หลีกเลี่ยงไม่ได้ที่จะต้องใช้ VBA (การเขียนโปรแกรมใน Excel) นะครับ มันยังไม่มีวิธีอื่นที่ทำได้ และผมเองก็ไม่ได้เชี่ยวชาญการเขียน VBA มากนัก นั่นคือ ผมรู้หลักการ รู้แนวคิดว่าควรจะทำอะไร แต่จำ Code แทบไม่ได้เลย ต้อง Google หรืออัด Macro ไว้แก้ไขตลอด 555 เอาล่ะ เพื่อไม่ให้เสียเวลาเรามาเริ่มกันเลยที่การแจ้งเข้า Line กันก่อนละกัน (เพราะมันน่าสนใจกว่าไงล่ะ 555) วิธีแจ้งเตือนเข้า Line การจะแจ้งเตือนเข้า Line ได้นั้น เราจะใช้บริการที่ชื่อว่า Line Notify…
extract-text-excel

สารพัดวิธีดึงข้อความหลังตัวคั่นตัวที่สอง

หลายวันก่อนผมมีการ Post คำถามนี้ ไปใน เพจเทพเอ็กเซล ว่า จะดึงข้อความหลังเครื่องหมาย - ตัวที่สองได้อย่างไร? ปรากฏว่ามีคนสนใจมาตอบเป็นจำนวนมากกกกก กว่าที่ผมคิดไว้เยอะเลย และมีหลายท่านได้นำเสนอวิธีที่น่าสนใจและควรค่าต่อการนำมาอธิบายต่อมาก ดังนั้นผมจะขออนุญาตนำวิธีของแต่ละท่านที่ตอบมาอธิบายให้ละเอียดมากขึ้น เผื่อที่คนมาอ่านจะได้นำไปต่อยอดความรู้ของตัวเองได้ครับ (ลองไปดูใน Post ได้นะครับว่าใครตอบแบบไหนมา หลายคนก็ตอบวิธีเดียวกันครับ) ขอเริ่มจากวิธีที่ผมคิดว่าง่ายที่สุดก่อนละกันนะครับ วิธีที่ 1 : ใช้ Flash Fill หลักการ : Excel จะพยายามหา Pattern ของสิ่งที่เราใส่เป็นตัวอย่าง แล้วเลียนแบบสิ่งนั้นให้โดยอัตโนมัติ (แต่ไม่ใช่สูตร หากข้อมูลต้นทางเปลี่ยนต้องกดคำสั่ง Flash Fill ใหม่) ข้อจำกัด : ใช้ได้ตั้งแต่ Excel 2013 ขึ้นไป แนะนำมาโดย : Bob Pytnst, Noppadol Rattanawisadrat, Taekuza…
สอน Excel ผ่าน Avengers : พลัง Infinity Stone ทั้ง 6 ใน Excel (ไม่สปอยล์ End Game) 7

สอน Excel ผ่าน Avengers : พลัง Infinity Stone ทั้ง 6 ใน Excel (ไม่สปอยล์ End Game)

วันนี้ผมจะมาสอนเทคนิค Excel โดยใช้เทคนิคต่างๆ ที่ ใช้ Gimmick เรื่อง Infinity Stone ทั้ง 6 ที่แต่ละอันมีความสามารถพิเศษแตกต่างกัน จากหนังเรื่อง Avengers กำลังมาแรงมากๆ และกำลังกวาดรายได้อย่างถล่มทลาย แต่เพื่อไม่ให้เป็นการสปอยล์คนที่ยังไม่ได้ดู ผมจะยังไม่พูดถึงเนื้อหาในภาค End Game แต่จะขอนำ มาผสมผสานเพื่อนำเสนอความรู้ Excel แบบสนุกสนาน เพื่อให้คนที่ยังไม่ได้ดู Avengers ภาค End Game ก็สามารถอ่านได้ครับ เพื่อไม่ให้เสียเวลา เราไปดูกันเลย!! Space Stone = Go to ความสามารถในหนัง : พาผู้ใช้งานวาร์ปไปโผล่ที่ไหนก็ได้ ใน Excel เราก็มีเครื่องมือที่คล้ายกับเจ้า Space Stone นี้มากๆ เลย นั่นก็คือ เครื่องมือ Go…
Excel VBA Basic : แผนดีมีชัยไปกว่าครึ่ง 8

Excel VBA Basic : แผนดีมีชัยไปกว่าครึ่ง

ผมได้พูดถึงเรื่องของ 10 Concepts เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Excel VBA ซึ่งเป็นการเกริ่นนำภาพรวมการใช้ VBA ใน Excel ไปแล้ว วันนี้ผมจะขอลงรายละเอียดถึง Step แรก นั่นก็คือ ขั้นของ งานวางแผน/ออกแบบ ซึ่งเป็นหัวใจที่สำคัญที่สุดของการเขียนโปรแกรมนั่นเอง งานวางแผนนี้ ถ้าจะเปรียบเทียบให้เห็นภาพเข้าใจง่ายๆ ผมอยากให้คุณจินตนาการตามนี้ครับ... เมื่อคุณมีผู้ช่วยเป็น Superman ถ้าในทีมของคุณมีพนักงานใหม่ที่ทำงานเร็วปรื๊ด (ระดับเดียวกับ Superman) เข้ามาช่วยงานคุณ ซึ่งพนักงานใหม่คนนี้ยอมให้คุณสั่งทำงานอะไรก็ได้ (ขอให้เป็นงานที่ทำใน Excel นะ...) ทำงานถึกแค่ไหนก็ยอม... มันคงสุดยอดไปเลยใช่มั้ยครับ? แต่ปัญหาติดอยู่อย่างเดียวครับ คือ พนักงานคนนี้ไม่เข้าใจในงานที่ทำแม้แต่น้อย คิดเองก็ไม่เป็น ทำตามคำสั่งได้อย่างเดียว แล้วคุณต้องบอกให้ละเอียดๆ ด้วยนะ บอกแค่ไหนทำแค่นั้นเลยเอ้า! ผมจะบอกว่า... ถ้าคุณหาวิธีสั่งเจ้าพนักงานใหม่ที่ทำงานตรงๆ ซื่อๆ ทื่อๆ คนนี้ได้ คุณก็สั่งงาน VBA ใน Excel ได้ครับ เพราะ VBA มันทำตัวแบบนี้เป๊ะเลย!…
10 Concepts เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Excel VBA 9

10 Concepts เริ่มต้นเรียนรู้การเขียนโปรแกรมด้วย Excel VBA

การเขียนโปรแกรมให้ Excel ทำงานแบบอัตโนมัติด้วย VBA (Visual Basic for Application) เป็นหัวข้อทักษะขั้นสูงใน Excel ที่มีคนอยากเรียนรู้เยอะมากที่สุดตลอดกาลลลลลเลยล่ะ! ผมจึงได้รับคำเรียกร้องจากแฟนเพจจำนวนมาก ให้ทำเนื้อหาเกี่ยวกับ VBA ได้แล้ว ดังนั้นวันนี้จึงถึงเวลาที่ผมจะมาพูดถึงเรื่อง VBA ซะทีครับ ซึ่งทำทั้งที ก็เริ่มปูพื้นบานให้ใหม่ตั้งแต่แรกเลย ^^ VBA คืออะไร? มันก็คือการเขียนโปรแกรมแบบหนึ่ง ซึ่งแทนที่เราจะนั่งเอาเม้าส์หรือคีย์บอร์ดกดคำสั่ง Excel ทีละ Step ตามปกติ เราสามารถเขียนคำสั่งใน VBA เอาไว้ เพื่อให้ Excel สามารถทำงานต่างๆ ตามที่เรากำหนดได้เลย แถมยังใส่ความฉลาดให้มันได้ด้วยนะ เช่น ถ้าสถานการณ์เป็นแบบนี้ๆๆ จะให้มันทำงานยังไงต่อ (คล้ายๆ ใส่ฟังก์ชั่น IF นั่นแหละครับ แต่เป็นการใส่ให้กับชุดคำสั่งแทน) แนวทาง VBA ที่ผมจะสอน การเรียนรู้ VBA ตามแนวทางที่ผมจะสอน ต้องบอกก่อนว่าจะเป็นแนวทางที่ใช้ VBA เป็นตัวเสริมการทำงานเท่านั้น…