Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

วิธีสร้าง Macro หรือ VBA Script ใน Microsoft Excel

Microsoft Excel ให้ผู้ใช้ทำงานอัตโนมัติได้ด้วย Macro และการเขียนสคริปต์ VBA (Visual Basic for Applications) VBA คือภาษาโปรแกรมที่ Excel ใช้สร้าง Macro และรันคำสั่งอัตโนมัติตามเงื่อนไขที่กำหนด

Macro คือชุดคำสั่งที่บันทึกไว้ล่วงหน้า จะทำงานอัตโนมัติเมื่อเรียกใช้ หากคุณมีงานซ้ำๆ ใน Excel เช่น บัญชี จัดการโครงการ หรือเงินเดือน การทำอัตโนมัติจะช่วยประหยัดเวลามาก

เปิดใช้งาน Scripts และ Macros

ก่อนสร้าง Macro หรือ VBA ต้องเปิดแท็บ Developer บน Ribbon ก่อน (ปิดอยู่โดยค่าเริ่มต้น)

  1. เปิดไฟล์ Excel
  2. คลิก File > Options > Customize Ribbon
  3. ติ๊กถูกที่ Developer
  4. คลิกแท็บ Developer บน Ribbon
  5. คลิก Macro Security ติ๊ก Enable all macros (not recommended; potentially dangerous code can run) แล้วกด OK

เหตุที่ Macro ปิดอยู่คืออาจมีรหัสอันตราย ตรวจสอบให้แน่ใจว่าไฟล์มาจากแหล่งเชื่อถือได้ และปิด Macro ทุกตัวหลังใช้งานเสร็จ

สร้าง Macro ใน Excel

การกระทำทั้งหมดขณะบันทึก Macro จะถูกบันทึกลงไป

  1. จากแท็บ Developer คลิก Record Macro
  2. ใส่ Macro name (ขึ้นต้นด้วยตัวอักษร ไม่มีช่องว่าง), Shortcut key (ตัวอักษร), และ Description
  3. เลือกที่เก็บ Macro:
    • Personal Macro Workbook: ไฟล์ซ่อนเก็บ Macro ใช้ได้กับทุกไฟล์
    • New Workbook: สร้างไฟล์ใหม่เก็บ Macro
    • This Workbook: ใช้ได้เฉพาะไฟล์ปัจจุบัน
  4. กด OK แล้วทำตามขั้นตอนที่ต้องการทำอัตโนมัติ
  5. เสร็จแล้วกด Stop Recording
  6. ใช้งานได้ด้วย Shortcut key ที่ตั้งไว้

ตัวอย่าง Macro จริง: จัดรูปแบบข้อมูลลูกค้า

สมมติมีตารางลูกค้าและยอดค้างชำระ ต้องการจัดรูปแบบให้ชื่อ-นามสกุลแยกคอลัมน์ และไฮไลท์ยอดค้างชำระ

บันทึก Macro

  1. คลิก Record Macro ตั้งชื่อ Format_Customer_Data กด OK
  2. เปลี่ยนชื่อคอลัมน์แรกเป็น First Name
  3. แทรกคอลัมน์ใหม่ข้างคอลัมน์ A ตั้งชื่อ Last Name
  4. บล็อกชื่อทั้งคอลัมน์ แล้วไป Data > Text to Columns
  5. เลือก Delimited > Next > Space > Next > Finish (ชื่อ-นามสกุลจะแยกออกมา)
  6. บล็อกยอดเงิน ไป Home > Conditional Formatting > Highlight Cell Rules > Greater Than > 0 (ไฮไลท์เซลล์ที่มียอดค้าง)
  7. กลับไป Developer กด Stop Recording

ใช้งาน Macro

เปิดไฟล์ต้นฉบับที่ยังไม่จัดรูปแบบ คลิก Macros เลือก Macro ที่สร้าง > Run การจัดรูปแบบจะทำให้อัตโนมัติ Macro จะถูกเก็บใน Visual Basic Editor

เรียนรู้ VBA เพิ่มเติม

ไปที่แท็บ Developer > Macro เลือก Macro ที่สร้าง > Edit จะเห็นโค้ด VBA ที่สร้างขึ้นจากการบันทึก สามารถศึกษาและปรับเปลี่ยนได้

สร้างปุ่มเพื่อเริ่มใช้งาน VBA

ใช้ตารางเดียวกัน สร้างปุ่มแปลงสกุลเงิน

  1. แท็บ Developer > ดรอปดาวน์ Insert ในส่วน Controls > เลือก ActiveX Command Button
  2. ลากวางปุ่มบนชีท
  3. คลิกขวาปุ่ม > Properties ตั้ง Name = CommandButton, Caption = Convert

เพิ่มโค้ดให้ปุ่มทำงาน

เขียนโค้ด VBA ในสภาพแวดล้อมแยกต่างหาก

  1. แท็บ Developer ตรวจสอบว่า Design Mode เปิดอยู่
  2. คลิกขวาปุ่ม > View Code
  3. จะเห็นโครงสร้าง Private Sub ... End Sub ให้เพิ่มโค้ดภายใน:
ActiveCell.Value = (ActiveCell * 1.28)

โค้ดนี้แปลงสกุลเงินจาก GBP เป็น USD (คูณ 1.28) ค่าใหม่ของเซลล์ = ค่าเดิม × 1.28

  1. ไป File > Close and Return to Microsoft Excel กลับสู่ Excel

ทดสอบการทำงาน

ปิด Design Mode (คลิกเพื่อปิด) เพื่อให้ปุ่มทำงานได้

  1. พิมพ์ตัวเลขในเซลล์ใดๆ แล้วกดปุ่ม Convert หากค่าเพิ่มขึ้นประมาณ 1 ใน 4 แสดงว่าทำงานถูกต้อง

ตัวอย่าง: ใส่ 4 กด Convert ได้ 5.12 (4 × 1.28 = 5.12) ถูกต้อง

ตอนนี้คุณเข้าใจการสร้าง Macro และ VBA Script แล้ว สามารถนำไปทำอัตโนมัติงานต่างๆ ใน Excel ได้มากมาย