Excel - แมโครเพื่อแทรกรูปภาพในแผ่นงาน

  • ปัญหา
  • สารละลาย

ปัญหา

ฉันกำลังพยายามแทรกรูปภาพในคอลัมน์ Excel โดยใช้แมโครซึ่งใช้การอ้างอิงชื่อไฟล์จากเซลล์ B2 และแทรกรูปภาพในเซลล์ A2 ตัวอย่างเช่น: ถ้า B2 มี N235 รูปภาพที่จะถูกแทรกใน A2 จะเป็น N235.jpg จากเส้นทางที่กำหนดในมาโคร สิ่งนี้ทำงานได้ดียกเว้นเมื่อไม่มีรูปภาพในโฟลเดอร์ที่มีชื่อเดียวกับในโฟลเดอร์
  • ฉันได้รับข้อผิดพลาดรันไทม์ 1004 และมาโครหยุดและไม่สามารถเติมภาพหลังจากเซลล์นั้นได้

สารละลาย

 รูปภาพย่อย ()

Dim picname As String

Dim pasteAt As Integer

สลัว lThisRow นาน

lThisRow = 2

ทำในขณะที่ (เซลล์ (lThisRow, 2) "")

pasteAt = lThisRow

เซลล์ (pasteAt, 1) เลือก 'นี่คือที่ที่จะแทรกรูปภาพ

picname = เซลล์ (lThisRow, 2) 'นี่คือชื่อรูปภาพ

ปัจจุบัน = Dir ("C: \ Users \ Administrator \ Desktop \ LC \" & picname & ".jpg")

ถ้ามีอยู่ "" จากนั้น

ActiveSheet.Pictures.Insert ("C: \ Users \ Administrator \ Desktop \ LC \" & picname & ".jpg") เลือก 'เส้นทางไปยังตำแหน่งที่จัดเก็บรูปภาพ

'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '''

'นี่คือการปรับขนาดรูปภาพ

'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '''

ด้วยการคัดเลือก

'.Left = Range ("A6"). Left

'.Top = ช่วง ("A6")

.Left = เซลล์ (pasteAt, 1) .Left

.Top = เซลล์ (pasteAt, 1) .Top

.ShapeRange.LockAspectRatio = msoFalse

.ShapeRange.Height = 100 #

.ShapeRange.Width = 130 #

.ShapeRange.Rotation = 0 #

จบด้วย

อื่น

Cells (pasteAt, 1) = "ไม่พบรูปภาพ"

สิ้นสุดถ้า

lThisRow = lThisRow + 1

ห่วง

ช่วง ( "A10"). เลือก

Application.ScreenUpdating = True

ออกจากตำบล

ErrNoPhoto:

MsgBox "ไม่สามารถค้นหารูปภาพ" 'แสดงกล่องข้อความหากไม่พบรูปภาพ

ออกจากตำบล

ช่วง ( "B20"). เลือก

ส่วนท้าย

ขอบคุณ rizvisa1 สำหรับเคล็ดลับนี้

บทความก่อนหน้านี้ บทความถัดไป

เคล็ดลับยอดนิยม