วันจันทร์ที่ 17 มิถุนายน พ.ศ. 2556

Excel Vba : กับวิธีการ Insert Picture เข้ามาใน worksheet โดยการสั่งงานผ่าน CommandButton

การเพิ่มรูปภาพเข้ามาใน Worksheet ด้วยวิธีปกติ คิดว่า ทุกคนคงทราบแล้ว เพราะว่าถ้าเราลองมองดูที่ Tab Ribbon ตรง Tab แทรก(Insert) แล้วคลิ้กที่... thumbnail 1 summary
การเพิ่มรูปภาพเข้ามาใน Worksheet ด้วยวิธีปกติ คิดว่า ทุกคนคงทราบแล้ว เพราะว่าถ้าเราลองมองดูที่ Tab Ribbon ตรง Tab แทรก(Insert) แล้วคลิ้กที่ คำสั่ง “รูปภาพ” กล่องเปิดรูปภาพก็จะเปิดขึ้นมาให้เราเลือกภาพที่ต้องการให้ ไม่ยากเลย แต่วันนี้เราจะมาเปิดรูปภาพด้วยวิธีการสั่งงานด้วยคำสั่งของ visual basic for application หรือ vba โดยวิธีนี้จะสั่งงานผ่าน CommandButton เช่นเคย รับรองได้ว่าไม่ยากแต่ว่าใช้งานได้จริง


มาดูกันว่ามีวิธีการอย่างไรที่จะทำงานนี้ให้ลุล่วงไปได้



· ขั้นแรกก็ต้องเปิด Microsoft Excel ขึ้นมา ใครมี Excel เวอร์ชั่นไหน ก็เปิด Excel เวอร์ชั่นนั้นมาก็แล้วกัน


· ขั้นตอนต่อมาก็เปิด VBA ขึ้นมา โดยการกด ปุ่ม ALT+F11 หน้าจอของ vba ก็จะเปิดขึ้นมา


· ขั้นตอนต่อไป แทรก Userform เข้ามา แล้วนำ CommandButton เพิ่มเข้ามา 1 อัน แล้วเปลี่ยนคุณสมบัติ Caption ของ CommandButton ให้เป็น “Insert Pictures”


· ขั้นตอนต่อไป แทรก Module เข้ามา 1 Module แล้วใส่ โค้ดเข้าไปที่ Module ดังนี้
Sub Macro1()
          ActiveSheet.Pictures.Insert( _
        "C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg").Select
     End Sub


ขั้นตอนต่อมา ดับเบิ้ลคลิ้กที่ CommandButton ที่อยู่บนฟอร์มที่เราแทรกเข้ามา แล้วใส่โค้ดคำว่า Macro1 ต่อไปนี้เข้าไป ระหว่างประโยค
Private Sub CommandButton1_Click()


ใส่โค้ดตรงนี้


End Sub


แล้วจะได้โค้ดที่สมบูรณ์เป็นดังบรรทัดข้างล่างนี้


Private Sub CommandButton1_Click()


Macro1


End Sub


จากนั้นกด F5 เพื่อสั่งให้โปรแกรททำงานตามโค้ดที่เราเขียน เมื่อ Userform ปรากฏตัวขึ้นมา ให้เราคลิ้กที่ปุ่ม Insert Pictures ก็จะได้ภาพ 1 ภาพ เข้ามาที่ Sheet1 ตรงตำแหน่ง เซลล์ที่ตัวชี้เซลล์อยู่ ดูภาพด้านล่างประกอบ


สำหรับวิธีการต่าง ที่กล่าวมาไม่ว่าจะเป็นการ เปิด VBA การแทรก Userform การแทรก CommandButton การแทรก Module ต่างๆ ผู้ใช้มือใหม่ทั้งหลายสามารถค้นหาวิธีที่มีการอธิบายแบบมีภาพประกอบได้ภายใน Blog แห่งนี้ได้เลย