يمكنك بسهولة إدراج الصور في جداول بيانات 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، تحتاج إلى تمكين أدوات المطور. سيؤدي هذا الإجراء إلى تمكين علامة تبويب المطور في الشريط، والتي يتم تعطيلها افتراضيًا.
- افتح اكسل .
- اذهب إلى القائمة ملف .
- انقر فوق "خيارات" في أسفل الشاشة. ستظهر نافذة خيارات Excel .
- في خيارات Excel، انتقل إلى علامة التبويب تخصيص الشريط .
- في علامات التبويب الرئيسية ، حدد المطور .

تم الآن تمكين أدوات المطور، بما في ذلك الوصول إلى VBA. لا تحتاج إلى القيام بذلك في كل مرة تريد فيها استخدام VBA في Excel. سيتم دائمًا تمكين أدوات المطورين حتى تقوم بتعطيلها.
2. قم بإنشاء وحدات ماكرو وإدراج التعليمات البرمجية
- في برنامج Excel، انتقل إلى علامة التبويب "المطور" .
- في قسم التعليمات البرمجية، حدد وحدات الماكرو .
- في النافذة الجديدة، أدخل اسم الماكرو الخاص بك في اسم الماكرو . ستستخدم المقالة InsertPhotoMacro .
- انقر فوق إنشاء .

بعد النقر فوق "إنشاء"، سيتم فتح نافذة VBA وستعرض رمز الماكرو الخاص بك. حاليًا، سيتكون الكود من سطرين: فرعي لبدء الماكرو ونهاية فرعية لإنهائه.

أضف القليل من التعليمات البرمجية إلى هذا الماكرو. أضف السطر التالي من التعليمات البرمجية بين السطرين:
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 على الفور.
حان الوقت الآن لرؤية الكود قيد التنفيذ:
- أغلق نافذة 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 . معلمة العنوان اختيارية. يتم عرض المحتوى الموجود بداخله كاسم النافذة.
باستخدام If photoNameAndPath = False ثم Exit Sub ، إذا تم تقديم عنوان غير صالح أو فارغ، فستنتهي العملية. ومع ذلك، إذا تم توفير ملف مناسب، فإن Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) يشير إلى أنه يجب تعيين الصورة كمتغير كما هو محدد في الأصل. سيتم إدراجه في ورقة العمل النشطة.
أخيرًا، استخدم مع الصورة والأسطر الخمسة التي بعدها لتحديد موقع الصورة. يشير .Left و .Top إلى موضع البداية، بينما يشير .Width و .Height إلى موضع النهاية. إذا كنت تنوي إدراج صور في خلية أخرى أو نطاق، فهذه هي الخطوط التي يجب عليك تغييرها.
.يشير الموضع إلى أنه يجب تغيير حجم الصورة لتلائم الخلية أو الشكل الحر المدرج. سيؤدي ضبطه على 1 إلى تغيير حجمه وفقًا للخلية.
أخيرًا، يستخدم الكود أعلاه End With ، ثم End Sub لإغلاق الماكرو. يمكنك الآن تغيير المتغيرات photoNameAndPath و photo إلى أي اسم آخر تريده. فقط تذكر أن تبقي الأسماء متسقة في جميع أنحاء الكود.
أعلاه هو كيفية استخدام VBA لإدراج الصور في الخلايا في Excel . نأمل أن تكون المقالة مفيدة لك.