كيفية دمج الخلايا في excel باستخدام كود vba

في VBA، توجد طريقة “MERGE” يمكنك استخدامها لدمج نطاق من الخلايا أو حتى نطاقات متعددة في خلية واحدة. تحتوي هذه الطريقة على وسيطة “Across” وهي اختيارية. إذا حددت TRUE، فسيتم دمج كل صف في النطاق بشكل منفصل، وإذا حددت FALSE، فسيتم دمج النطاق بأكمله في صف واحد.

دمج الخلايا وفك تجميعها باستخدام vba

خطوات استخدام VBA لدمج الخلايا:

  1. أولاً، تحتاج إلى تحديد نطاق الخلايا التي تريد دمجها.
    define-the-range-of-a-cell-want-to-merge
  2. بعد ذلك، اكتب نقطة (.) لتحصل على قائمة الخصائص والطرق واختر “دمج” من تلك القائمة أو يمكنك كتابتها مباشرة.
    type-a-dot-to-get-the-list-of-properties
  3. بعد ذلك، تحتاج إلى ضبط الوسيطة “Across” على TRUE أو FALSE.
    define-the-argument-across
  4. في النهاية، قم بتشغيل هذا الكود لدمج النطاق.

هنا هو الرمز.

 Range("A1:A2").Merge False

وإذا كنت تريد دمج الصفوف عبر النطاق بأكمله، فيمكنك استخدام TRUE للوسيطة عبر.

اكتب صحيحًا إذا كنت تريد الدمج على النطاق
 Selection.Merge Across:=True

في الكود أعلاه قمت بتحديد نطاق وطريقة دمج وعبر كصحيح. وقام بدمج كافة الصفوف في النطاق المحدد.

لنفترض الآن أنك تريد دمج نطاق الخلايا من ورقة عمل أخرى، ولا تحتاج إلى تمكينه أولاً. يمكنك ببساطة الرجوع إلى جدول البيانات أولاً ثم استخدام طرق الدمج مع التراجع الذي تريد دمجه.

 Worksheets("Sheet1").Range("A1:A2").Merge

وبالمثل، يمكنك أيضًا الرجوع إلى مصنف عن طريق تحديد اسم المصنف.

 Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1:A2").Merge

دمج نطاق ومحاذاة محتويات الخلية

الآن عند دمج خليتين أو أكثر، تحتاج إلى محاذاة المحتوى الموجود في الخلية. انظر إلى اللقطة أدناه حيث قمت بدمج الخلايا A1 وA2 وتمت محاذاة القيمة الموجودة في الخلايا إلى الأسفل. لحل هذه المشكلة، يمكنك استخدام خاصية المحاذاة ومحاذاة محتويات الخلية إلى المركز والوسط بحيث يسهل عليك القراءة.

دمج نطاق ومحاذاة محتويات الخلية
 With Range("A1:A2") .Merge .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With

دمج النص ثم الدمج

دعونا نتحدث عن سيناريو الحياة الحقيقية. لديك نص في نطاق من الخلايا وتحتاج إلى دمج تلك الخلايا، ولكنك لا تريد أن تفقد المحتوى الموجود لديك. حسنًا، يمكنك كتابة حلقة تعليمات برمجية على النطاق بأكمله باستخدام كل منها ودمج النص ثم إضافته إلى النطاق المدمج في النهاية.

الجمع بين الاختبار والدمج
  1. في الجزء الأول، لديك متغيرات يمكنك استخدامها لتخزين قيم النطاق وتعيين نفسها.
  2. في الجزء الثاني لديك LOOP لدمج قيم كل خلية لإنشاء سلسلة جديدة معها.
  3. في الجزء الثالث، قم بدمج النطاق وإضافة السلسلة المدمجة وتطبيق التفاف الكلمات ومحاذاة محتويات الخلية.

هنا هو الرمز الكامل.

 Sub vba_merge_with_values() Dim val As String Dim rng As Range Set rng = Range("A1:A10") For Each Cell In rng val = val & " " & Cell.Value Next Cell With rng .Merge .Value = Trim(val) .WrapText = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With End Sub

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *