Pages

Feb 6, 2011

ดูโค้ด VBA กัน

1. กด Alt+F11  เพื่อดูโค้ดของ VB
2. ดูที่ Module1 จะเห็นโค้ดของ fillText ซึ่งเป็น Macro ที่เราสร้างไว้ ดังภาพ

3. ลองทำความเข้าใจดูนิดนึง :) จะเห็นว่ามีรูปแบบคล้าย ๆ กัน คือ
   Range("A5").Select
     ActiveCell.FormulaR1C1 = "A"
นั่นคือ  เลือก cell "A5" ก่อน (บรรทัดแรก) จากนั้นให้ใส่อักษร "A" ลงไป (บรรทัดสอง) หรืออีกนัยยะคือ ให้สมการ (Formula) ของ cell ที่เราเลือก คือ A
4. เราอาจปรับโค้ดของเราให้สั้นลง ได้ดังนี้
Range("A5").FormulaR1C1 = "A"
   ซึ่งจะได้ผล "คล้ายๆ"กัน (ต่างกันตรงไหน? เอาไว้มาคุยกันคราวหน้าค่ะ)
  จากนั้นปรับโค้ดทั้งหมด โดยที่
Range("E5").Select
   ไม่จำเป็นสำหรับงานของเรา จึงสามารถตัดออกได้  ดังภาพ

5. กลับไปที่หน้า Excel ลอง run macro ของเราดู  จะได้ผล(หมายถึงงานที่เราต้องการ)เช่นเดียวกันค่ะ
ส่วนจะต่างกันตรงไหน ?... ลองสังเกตดูเองเน้อ :P

Jan 13, 2011

สร้าง macro อย่างง่าย

ขอเริ่มที่การสร้างมาโคร (macro) กันอย่างง่ายๆ สำหรับมือใหม่เลยนะคะ
เราจะใช้สิ่งที่มีอยู่แล้วใน excel เป็นตัวช่วยค่ะ 
สิ่งที่ต้องทำ มี 3 ขั้นตอนหลักๆ ก็คือ
1. คิดงานที่จะทำ 
2. บันทึก macro 
3. ทดสอบ และปรับปรุงแก้ไข 

เริ่มเลยนะคะ
1. คิดงานที่จะทำ : เอางานง่ายๆก่อนเนอะ :) เช่น ต้องการใส่ตัวอักษรภาษาอังกฤษลงไปใน cell ที่ต้องการ ได้แก่
  • ตัวอักษร A ลงใน  A5 
  • ตัวอักษร B ลงใน  B5 
  • ตัวอักษร C ลงใน  C5 
  • ตัวอักษร D ลงใน  D5 
ดังภาพ


 จำว่าเราต้องทำอะไร กดตรงไหน พิมพ์ยังไงให้แม่นนะคะ  จากนั้นก็ลบให้เหลือ sheet ว่างๆ แล้วไปขั้น 2 กันเลย
2. บันทึกมาโคร
  • ไปที่เมนู View นะคะ มองหาปุ่ม Macros > ต่อด้วย Record macro ดังภาพ

  • เราจะได้ป้ายนี้โผล่ขึ้นมา ซึ่งเป็นชื่อมาโครของเรานั่นเอง โดยเราจะเอาชื่อที่เค้าตั้งมาก็ได้(แต่ต้องจำด้วยนะคะ ว่าชื่ออะไร เอาไว้ทำอะไร) จะให้ดีก็ตั้งชื่อเอง ให้มันสื่อถึงงานที่ทำ จะเป็นการดีที่สุด  ในกรณีนี้ ขอตั้งชื่อว่า fillText ละกันนะคะ ^.^ 

  • สังเกตว่า มีให้เราใส่ short cut ด้วยล่ะ แต่เอาไว้คุยที่หลังดีกว่า(ไม่ต้องใส่อะไร)
  • ซึ่งหลังกด record ไป แล้ว ทุกอย่างที่คุณทำบน excel จะถูกบันทึกไว้ทั้งหมด (แม้แต่การ scroll เมาส์)
  • เริ่มทำงานของเรากันค่ะ พิมพ์ตัวอักษรลงไป A,B,C,D ตามที่คิดเอาไว้ในขั้นที่ 1
  • เสร็จแล้วกด Stop recording เป็นอันเสร็จพิธีค่ะ ^^

  • จากนั้นก็ลบตัวอักษรทั้งหมดทิ้งไปนะคะ 
  • ไหนลอง run macro ของเราดูซิ .... ว่าแต่ว่า มันอยู่ตรงไหนหนอ ?
  • ปุ่มใกล้ๆกับเมื่อสักครู่ค่ะ view macro นั่นเอง กดเลย
  • จะได้หน้าตาแบบนี้ (ทำครั้งแรก ก็จะเห็นแค่ macro อันแรก ของเราคนเดียว) คลิ๊กให้เป็นแถบสี แล้วกด run โลด 

  • โอ๊ะ !! ได้แล้ว ๆ ๆ 

  • ลบอักษรทิ้ง แล้ว ลองดูอีกหลายๆ รอบก็ได้นะคะ 
จบแล้วค่ะ ง่ายใช่ไหมเอ่ย ^^ คราวหน้า เราจะมาดูโค้ดข้างในกันนะคะ แล้วก็จะมาทำปุ่ม ให้สามารถกด run เจ้า macro ของเรากันได้ง่ายๆเลยค่ะ
หมายเหตุ: ภาพอาจจะล้นๆไปนิดนะคะ ไม่มีโปรแกรมย่อภาพดีๆ ก็เลยไม่ย่อ เพราะเกรงว่าจะไม่ชัด จริงๆแล้ว จะใส่แบบไ่ม่ล้นก็ได้ แต่มันจะเล็กเกินไป ไม่อยากให้ต้องเสียเวลาคลิ๊กเปิดหน้าใหม่เพื่อดูภาพค่ะ ^^