หนึ่ง Macro คือหนึ่ง Sub
ใช้ตอนสร้างคำสั่งใหม่ใน Module
Sub MacroName()
'คำสั่งอยู่ตรงนี้
End Subชื่อ Macro อยู่หลังคำว่า Sub และจบชุดคำสั่งด้วย End Sub
Microsoft Excel Macro & VBA
สรุปคำสั่ง VBA ที่ผู้เรียนควรรู้ เพื่อใช้อ่าน แก้ไข และต่อยอด Macro จากคลาส Excel Macro & VBA
เริ่มอ่านโค้ด
Syntax แรกที่ต้องอ่านให้ออกก่อนเข้า VBA Editor และก่อนแก้โค้ดที่ Record Macro สร้างให้
ใช้ตอนสร้างคำสั่งใหม่ใน Module
Sub MacroName()
'คำสั่งอยู่ตรงนี้
End Subชื่อ Macro อยู่หลังคำว่า Sub และจบชุดคำสั่งด้วย End Sub
ใช้จดว่าโค้ดบรรทัดนี้ทำอะไร
'คัดลอกข้อมูลจากฟอร์มไปชีท Dataข้อความหลังเครื่องหมาย apostrophe จะไม่ถูกรัน
ใช้แยกอ่านโค้ดที่ Record Macro สร้างให้
Range("A1").Value = "Hello"อ่านจากซ้ายไปขวา: Object.Property = ค่าที่ต้องการกำหนด
หัวใจของการอ่าน VBA
วิธีแยกประโยค VBA ให้ออกว่าโค้ดกำลังพูดถึงอะไร เปลี่ยนคุณสมบัติอะไร หรือสั่งให้ทำอะไร
ใช้เมื่อเปลี่ยนค่า/ชื่อ/รูปแบบ
ActiveSheet.Name = "Qrt4"
Range("A1").Value = "North"Property คือคุณสมบัติ เช่น Name, Value, Font.Size
ใช้เมื่อสั่งให้ Excel ทำงาน
Range("A1").Select
ActiveCell.Copy
Sheets.AddMethod คือคำสั่ง เช่น Select, Copy, Paste, Clear
ใช้กับ Font และการจัดรูปแบบ
Selection.Font.Bold = False
ActiveCell.Font.Size = 20Font เป็น Object ย่อยของ Selection หรือ ActiveCell
เลือกพื้นที่ให้ถูก
Syntax สำหรับบอก VBA ว่าจะทำงานกับชีท เซลล์ หรือช่วงข้อมูลไหน
ใช้ตอนสลับชีทใน Macro
Sheets("Data").Select
Sheets(1).Selectเลือกจากชื่อชีท หรือเลือกจากลำดับชีท
ใช้ระบุตำแหน่งแบบชัดเจน
Range("A1").Select
Range("A1:D10").Select
Cells(2, 1).Value = "OrderID"Range ใช้ที่อยู่แบบ Excel, Cells ใช้เลขแถวและเลขคอลัมน์
ใช้เลื่อนตำแหน่งแบบ Relative
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(1, 1).Value = "East"Offset(แถว, คอลัมน์) เช่น 1,0 คือเลื่อนลง 1 แถว
งาน Excel ที่เจอบ่อย
คำสั่งพื้นฐานสำหรับจัดการข้อมูลและรูปแบบใน Excel
ใช้สร้างหรือแก้ข้อมูล
Range("A1").Value = "Sales"
Cells(2, 1).Value = 100กำหนดค่าด้วย .Value
ใช้เน้นหัวตาราง
Range("A1").Font.Bold = True
Range("A1").Font.Size = 14Font เป็น Object สำหรับควบคุมรูปแบบตัวอักษร
ใช้ย้ายข้อมูลระหว่างช่วง
Range("A1:D10").Copy
Range("F1").PasteSpecial xlPasteValuesPasteSpecial xlPasteValues ใช้วางเฉพาะค่า