VBA เขียนโปรแกรม

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

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

เมื่อคุณมีผู้ช่วยเป็น Superman

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

By Sira Ekabut, ago
VBA เขียนโปรแกรม

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

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

VBA คืออะไร?

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

แนวทาง VBA ที่ผมจะสอน

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

By Sira Ekabut, ago
VBA เขียนโปรแกรม

เมื่อเกม RPG ถูกสร้างด้วย Excel

เชื่อหรือไม่ว่าเกมส์ RPG ถูกสร้างได้ด้วย Microsoft Excel + VBA ล้วนๆ ด้วยฝีมือนักบัญชีชาวแคนาดา ชื่อว่า CARY WALKIN เค้าสามารถทำได้ครับ เกมส์นี้ชื่อว่า Arena.Xlsm หลายๆอย่างที่เกม RPG ชั้นนำมี เจ้าเกมนี้ก็มีหมดครับ ทั้งค่าพลังต่างๆ ไอเท็ม อาวุธ เวทย์มนต์ ลูกกระจ๊อก ไปจนถึง บอสใหญ่ ใครอยากลองเล่นไปโหลดได้ที่ http://carywalkin.ca/download-arena-xlsm/ ลองเล่นแล้วเป็นยังไงอย่าลืมมาเล่าให้ฟังกันบ้างล่ะครับ

By Sira Ekabut, ago