السلام عليكم ورحمة الله وبركاته
هل فكرت يوماً في إدراج صور داخل تعليق ؟ ماذا لو كنت تريد إدراج مجموعة كبيرة من الصور داخل التعليق مرة واحدة؟
اليوم أقدم لكم تنفيذ هذه الفكرة ، وهي إدراج مجموعة من الصور في تعليقات بناءً على قائمة بأسماء ملفات الصور توضع في العمود الأول.
تجهيز الملف : قم بإدراج أسماء ملفات الصور في النطاق A2:A7 على سبيل المثال (يمكن تغيير النطاق داخل الكود بما يتناسب مع ملفك)
* ملحوظة : أسماء ملفات الصور تكون ملحقة بالامتداد ، على سبيل المثال Pic01.JPG
قم بتغيير المسار من سطر تحديد المسار داخل الكود ، وفي النهاية قم بتنفيذ الكود ، ليقوم الكود بإدراج الصور في الخلايا المجاورة في العمود الثاني.
هذه صورة من الملف بعد تنفيذ الكود
إليكم الكود مشروح بالتفصيل لكي يسهل عليكم التعديل ولكي نتعلم ونرتقي
CODE
Sub Create_Comments_With_Pictures()
'تعريف المتغيرات
Dim rngList As Range
Dim c As Range
Dim cmt As Comment
Dim strPic As String
'جملة لتفادي حدوث خطأ
On Error Resume Next
'تعيين النطاق الذي يحتوي على أسماء ملفات الصور في العمود الأول
Set rngList = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
'تعيين مسار المجلد الذي يحتوي على الصور المراد إدراجها في تعليق
'[Pictures] المسار هو مسار المصنف الحالي في مجلد باسم
strPic = ThisWorkbook.Path & "Pictures"
'حلقة تكرارية لكل خلية من خلايا النطاق الذي يحتوي أسماء ملفات الصور
For Each c In rngList
'بدء التعامل مع الخلية المجاورة أي في العمود المجاور للخلية
'حيث أن الإزاحة بمقدار عمود واحد أي أن الإزاحة هنا ستكون للعمود الثاني
With c.Offset(0, 1)
'تعيين قيمة للمتغير ليساوي التعليق الموجود في الخلية
Set cmt = .Comment
'إذا لم يكن بالخلية تعليق
If cmt Is Nothing Then
'يتم تعيين قيمة للمتغير بإضافة تعليق جديد
Set cmt = .AddComment
'نهاية جملة الشرط
End If
'بدء التعامل مع التعليق
With cmt
'مسح نص التعليق
.Text Text:=""
'إدراج شكل أو صورة من خلال المسار الذي تم تحديده
'مضاف إلى المسار اسم الصورة بالامتداد
.Shape.Fill.UserPicture strPic & c.Value
'[False] إلى القيمة [True] إظهار التعليق ، ولإخفاء التعليق قم بتغيير القيمة
.Visible = True
'انتهاء التعامل مع التعليق
End With
'انتهاء التعامل مع الخلية المجاورة للخلية الحالية في الحلقة التكرارية
End With
'الانتقال للخلية التالية في النطاق
Next c
End Sub
رابط الملف من هنا
إعداد / ياسر خليل أبو البراء