Excel - ماكرو لإدراج الصور في ورقة العمل

  • القضية
  • حل

القضية

أحاول إدراج صور في عمود Excel باستخدام الماكرو الذي يأخذ مرجع اسم الملف من الخلية B2 وإدراج صورة في الخلية A2. على سبيل المثال: إذا كان B2 يحتوي على N235 ، فإن الصورة التي سيتم إدراجها في A2 ستكون N235.jpg من المسار المحدد في ماكرو. يعمل هذا بشكل جيد باستثناء عند عدم وجود صورة في المجلد بنفس الاسم الموجود في المجلد.
  • أتلقى خطأ وقت التشغيل 1004 ويتوقف ماكرو ولا أستطيع ملء الصورة بعد تلك الخلية.

حل

 صورة فرعية ()

قاتمة picname باسم سلسلة

قاتمة لصقفي عدد صحيح

خافت lThisRow طالما

lThisRow = 2

افعل بينما (الخلايا (lThisRow ، 2) "")

لصق = lThisRow

خلايا (لصق ، 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")

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

. اليسار = الخلايا (لصق ، 1). اليسار

أعلى = الخلايا (لصق ، 1)

.ShapeRange.LockAspectRatio = msoFalse

. ShapeRange.Height = 100 #

. ShapeRange.Width = 130 #

. ShapeRange.Rotation = 0 #

انتهت ب

آخر

الخلايا (لصقA ، 1) = "لم يتم العثور على صورة"

إنهاء إذا

lThisRow = lThisRow + 1

عقدة

مجموعة ( "A10"). اختر

Application.ScreenUpdating = صحيح

خروج الفرعية

ErrNoPhoto:

MsgBox "غير قادر على البحث عن صور" يعرض مربع الرسالة إذا لم يتم العثور على الصورة

خروج الفرعية

مجموعة ( "B20"). اختر

نهاية الفرعية

بفضل rizvisa1 لهذه النصيحة.

المقال السابق المقالة القادمة

نصائح الأعلى