คุณสามารถแทรกรูปภาพลงในสเปรดชีต Excelและแก้ไขด้วยโค้ดมาโครได้ อย่างง่ายดาย ต่อ ไปนี้เป็นวิธีแทรกรูปภาพลงในเซลล์โดยใช้VBA ใน Excel

Visual Basic for Applications หรือเรียกโดยย่อว่า VBA เป็นรูปแบบหนึ่งของ Visual Basic 6 ที่รวมอยู่ในโปรแกรม Microsoft Office ด้วยการเข้ารหัส VBA ช่วยให้คุณสามารถทำงานอัตโนมัติในแอปพลิเคชัน Office รวมถึง Excel ในบางกรณี คุณสามารถเพิ่มคุณลักษณะใหม่ลงใน Excel โดยใช้ VBA ได้
แม้ว่าคุณจะต้องทำงานกับโค้ดเพื่อใช้ VBA แต่นั่นไม่ได้หมายความว่า VBA จะเต็มไปด้วยตัวอักษรและตัวเลข ด้วย VBA ใน Excel คุณสามารถสร้างแมโครที่ให้คุณแทรกรูปภาพลงในเซลล์หรือช่วงของเซลล์ได้ ต่อไปนี้คือสิ่งที่คุณต้องรู้เกี่ยวกับการแทรกรูปภาพลงในเซลล์ใน Excel โดยใช้ VBA
วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel
หากต้องการสร้างแมโครที่แทรกรูปภาพลงในเซลล์ Excel โดยใช้ VBA คุณไม่จำเป็นต้องมีความรู้ Visual Basic ขั้นสูงใดๆ สิ่งที่คุณต้องทำคือเปิดเครื่องมือสำหรับนักพัฒนา สร้างมาโคร และวางโค้ดที่เหมาะสม แน่นอน คุณยังสามารถแทรกรูปภาพลงใน Excel ได้โดยไม่ต้องใช้ VBA อย่างไรก็ตาม ในบทความนี้ เราจะเน้นที่ VBA
1. เปิดเครื่องมือสำหรับนักพัฒนา
หากต้องการใช้ VBA ใน Excel คุณต้องเปิดใช้งานเครื่องมือสำหรับนักพัฒนา การดำเนินการนี้จะเปิดใช้งานแท็บนักพัฒนาใน Ribbon ซึ่งถูกปิดใช้งานตามค่าเริ่มต้น
- เปิดExcel _
- ไป ที่เมนูไฟล์
- คลิกตัวเลือกที่ด้านล่างของหน้าจอ หน้าต่างตัวเลือกของ Excelจะปรากฏขึ้น
- ในตัวเลือกของ Excel ให้ไปที่ แท็บ กำหนด Ribbonเอง
- ในแท็บหลักให้ตรวจสอบDeveloper
![วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel]()
ขณะนี้เครื่องมือสำหรับนักพัฒนา รวมถึงการเข้าถึง VBA ถูกเปิดใช้งานแล้ว คุณไม่จำเป็นต้องทำเช่นนี้ทุกครั้งที่คุณต้องการใช้ VBA ใน Excel เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์จะถูกเปิดใช้งานเสมอจนกว่าคุณจะปิดการใช้งาน
2. สร้างมาโครและใส่โค้ด
- ใน Excel ให้ไปที่ แท็บ นักพัฒนา
- ในส่วนรหัส ให้เลือกมาโคร
- ในหน้าต่างใหม่ ให้ป้อนชื่อมาโครของคุณในชื่อมาโคร บทความนี้จะใช้insertPhotoMacro
- คลิกสร้าง _
![วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel]()
หลังจากคลิกสร้าง หน้าต่าง VBA จะเปิดขึ้นและแสดงโค้ดสำหรับมาโครของคุณ ปัจจุบันโค้ดจะประกอบด้วย 2 บรรทัด: Subเพื่อเริ่มมาโคร และEnd Subเพื่อสิ้นสุด
![วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel]()
เพิ่มโค้ดเล็กๆ น้อยๆ ให้กับมาโครนี้ เพิ่มบรรทัดโค้ดต่อไปนี้ระหว่างสองบรรทัด:
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
รหัสสุดท้ายจะมีลักษณะดังนี้:
![วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel วิธีแทรกรูปภาพลงในเซลล์โดยใช้ VBA ใน Excel]()
คุณไม่จำเป็นต้องกังวลเกี่ยวกับการบันทึกกระบวนการนี้ การเปลี่ยนแปลงใดๆ ที่คุณทำใน VBA จะถูกบันทึกทันที
ถึงเวลาดูโค้ดที่ใช้งานจริงแล้ว:
- ปิดหน้าต่าง VBA
- ไปที่ แท็บนักพัฒนาใน Excel
- เลือกมาโครจากส่วนรหัส
- ไฮไลต์มาโครที่คุณเพิ่งสร้างขึ้น
- คลิกเรียกใช้
ตอนนี้ข้อความจะเปิดขึ้นเพื่อขอให้คุณค้นหาไฟล์ภาพที่คุณต้องการแทรก เลือกรูปภาพ จากนั้นคลิกเปิด ตอนนี้คุณจะเห็นภาพในเซลล์ A1
หมายเหตุ Excel จะย่อรูปภาพให้พอดีกับเซลล์ A1 คุณสามารถเปลี่ยนและเปลี่ยนโค้ดเพื่อแทรกรูปภาพลงในเซลล์อื่น แม้แต่ช่วงของเซลล์ก็ได้ ในส่วนถัดไป เราจะแยกโค้ดและอธิบายพารามิเตอร์
3. แยกรหัส
เพื่อให้โค้ด VBA ทำงานตามที่คุณต้องการ คุณต้องเข้าใจก่อน เมื่อทำเช่นนี้ คุณสามารถเปลี่ยนโค้ดเพื่อแทรกรูปภาพลงในเซลล์ใดก็ได้ทุกขนาด
Sub insertPhotoMacro()
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
End Sub
เมื่อโค้ดเริ่มต้นขึ้น คำสั่ง Dim จะถูกนำมาใช้เพื่อกำหนดประเภทของตัวแปร เรามีตัวแปรสองประเภท: photoNameAndPathและphoto เริ่มจากตัวแปรก่อนแล้วจึงตามด้วยรูปภาพ
จากนั้น ตัวแปร photoNameAndPathจะทำงาน และจะเปิดแอปพลิเคชันเพื่อรับตำแหน่งของไฟล์รูปภาพ ซึ่งทำได้ผ่านทางApplication.GetOpenFileName พารามิเตอร์Titleเป็นทางเลือก เนื้อหาภายในจะแสดงเป็นชื่อหน้าต่าง
การใช้If photoNameAndPath = False then Exit Subหากระบุที่อยู่ที่ไม่ถูกต้องหรือว่างเปล่า กระบวนการจะสิ้นสุด อย่างไรก็ตาม หากมีไฟล์ที่เหมาะสมSet photo = ActiveSheet.Pictures.Insert(photoNameAndPath)บ่งชี้ว่ารูปภาพควรได้รับการตั้งค่าเป็นตัวแปรตามที่กำหนดไว้ตั้งแต่แรก มันจะถูกแทรกลงในแผ่นงานที่ใช้งานอยู่
สุดท้าย ใช้ With photo และเส้น 5 เส้นหลังจากนั้นเพื่อระบุตำแหน่งของรูปภาพ .ด้านซ้ายและ.ด้านบนหมายถึงตำแหน่งเริ่มต้น ในขณะที่.ความกว้างและ.ความสูงหมายถึงตำแหน่งสิ้นสุด หากคุณต้องการแทรกรูปภาพลงในเซลล์หรือช่วงอื่น คุณควรเปลี่ยนเส้นเหล่านี้
.ตำแหน่งบ่งชี้ว่ารูปภาพควรปรับขนาดให้พอดีกับเซลล์หรือแทรกรูปแบบอิสระ การตั้งค่าเป็น1จะปรับขนาดตามเซลล์
สุดท้ายโค้ดด้านบนใช้End Withจากนั้นEnd Subเพื่อปิดแมโคร ตอนนี้คุณสามารถเปลี่ยนตัวแปรphotoNameAndPathและรูปภาพเป็นชื่ออื่น ๆ ที่คุณต้องการได้ เพียงจำไว้ว่าให้ชื่อสอดคล้องกันตลอดทั้งโค้ด
ด้านบนนี้เป็นวิธีการใช้ VBA เพื่อแทรกรูปภาพลงในเซลล์ใน Excel หวังว่าบทความนี้จะเป็นประโยชน์กับคุณ