จะทำงานหรืออ้างถึง Sheet พร้อมๆกันบน Excel ได้อย่างไร
(How to: Refer to More Than One Sheet)
การอ้างถึง Sheet หลาย Sheet พร้อมกันในตัวอย่างนี้ คือการทำให้ Worksheet อยู่ในสถานะ Active พร้อมกัน เช่น เราพิมพ์คำค่าใดๆหรือข้อความใดๆลงในเซลล์ บน Sheet 1 มันจะมีผลให้เซลล์ที่ถูก Active มีข้อความเหล่านั้นปรากฏขึ้นมาด้วย หรือ เรียกอีกวิธีการเช่นนี้อีกแบบว่า Group Sheet เข้าไว้ด้วยกัน (group of sheet)
โดยเราสามารถทำอย่างนี้ได้โดยต้องสั่งงานผ่าน vba
วิธีการ Active Sheet พร้อมกันหลายๆ Sheet ให้เราทำดังนี้
1. เปิด Excel ขึ้นมา (Open Excel)
2. ไปที่เมนู Developer->Insert Command button (Activex Control)
3. แล้วดับเบิ้ลคลิ้กที่ Command button เพื่อเข้าไปเขียนโค้ด (Double click command button)
4. ใส่ซอร์สโค้ดต่อไปนี้ลงไป (Insert this code between sub…end sub)
Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
5. กด alt+F11 กลับมาที่ Excel (back to Excel)
6. ทดสอบการทำงานของโปรแกรมแล้วคลิกที่ Command Button 1 ครั้ง (Run program and click 1 times on command button)
7. ที่ sheet 1พิมพ์ ab ที่เซลล์ A1
(Sheet1,type “ab” on cell a1)
8. ที่ sheet 1พิมพ์ cd ที่เซลล์ A2
(Sheet1,type “cd” on cell a2)
9. ที่ sheet 1พิมพ์ ef ที่เซลล์ A3
(Sheet1,type “ef” on cell a3)
10. คลิกที่ Sheet2 แล้วดูผลลัพธ์
(Click sheet2 and see result)
11. คลิกที่ Sheet3 แล้วดูผลลัพธ์
(Click sheet3 and see result)
เราจะเห็นว่าเราพิมพ์ที่ Sheet1 เพียงอย่างเดียวแต่ว่าข้อความที่พิมพ์เหล่านั้นไปปรากฏที่ Sheet2,Sheet3 ด้วย (you can see sheet2 and sheet3 was typed too)
จาก ซอร์สโค๊ดเราจะเห็นว่า เราทำการ Group ชีทที่อยู่ติดกัน เราสามารถ Group sheet ที่ไม่ติดกันก็ได้ เช่น sheet1,sheet2,sheet4
(you can active any sheet such as sheet1, sheet2, sheet4)
(How to: Refer to More Than One Sheet)
การอ้างถึง Sheet หลาย Sheet พร้อมกันในตัวอย่างนี้ คือการทำให้ Worksheet อยู่ในสถานะ Active พร้อมกัน เช่น เราพิมพ์คำค่าใดๆหรือข้อความใดๆลงในเซลล์ บน Sheet 1 มันจะมีผลให้เซลล์ที่ถูก Active มีข้อความเหล่านั้นปรากฏขึ้นมาด้วย หรือ เรียกอีกวิธีการเช่นนี้อีกแบบว่า Group Sheet เข้าไว้ด้วยกัน (group of sheet)
โดยเราสามารถทำอย่างนี้ได้โดยต้องสั่งงานผ่าน vba
วิธีการ Active Sheet พร้อมกันหลายๆ Sheet ให้เราทำดังนี้
1. เปิด Excel ขึ้นมา (Open Excel)
2. ไปที่เมนู Developer->Insert Command button (Activex Control)
3. แล้วดับเบิ้ลคลิ้กที่ Command button เพื่อเข้าไปเขียนโค้ด (Double click command button)
4. ใส่ซอร์สโค้ดต่อไปนี้ลงไป (Insert this code between sub…end sub)
Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
5. กด alt+F11 กลับมาที่ Excel (back to Excel)
6. ทดสอบการทำงานของโปรแกรมแล้วคลิกที่ Command Button 1 ครั้ง (Run program and click 1 times on command button)
7. ที่ sheet 1พิมพ์ ab ที่เซลล์ A1
(Sheet1,type “ab” on cell a1)
8. ที่ sheet 1พิมพ์ cd ที่เซลล์ A2
(Sheet1,type “cd” on cell a2)
9. ที่ sheet 1พิมพ์ ef ที่เซลล์ A3
(Sheet1,type “ef” on cell a3)
10. คลิกที่ Sheet2 แล้วดูผลลัพธ์
(Click sheet2 and see result)
11. คลิกที่ Sheet3 แล้วดูผลลัพธ์
(Click sheet3 and see result)
เราจะเห็นว่าเราพิมพ์ที่ Sheet1 เพียงอย่างเดียวแต่ว่าข้อความที่พิมพ์เหล่านั้นไปปรากฏที่ Sheet2,Sheet3 ด้วย (you can see sheet2 and sheet3 was typed too)
จาก ซอร์สโค๊ดเราจะเห็นว่า เราทำการ Group ชีทที่อยู่ติดกัน เราสามารถ Group sheet ที่ไม่ติดกันก็ได้ เช่น sheet1,sheet2,sheet4
(you can active any sheet such as sheet1, sheet2, sheet4)