Note: The other languages of the website are Google-translated. Back to English

 كيفية تحديد عمود بناءً على رأس العمود في Excel؟

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

حدد عمودًا بناءً على اسم رأس العمود برمز VBA


حدد عمودًا بناءً على اسم رأس العمود برمز VBA

يمكن أن يساعدك رمز VBA التالي في تحديد الأعمدة بناءً على اسم رأس محدد ، يرجى القيام بذلك على النحو التالي:

1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.

رمز فبا: حدد العمود بناءً على اسم رأس العمود:

Sub FindAddressColumn()
'Updateby Extendoffcie
    Dim xRg As Range
    Dim xRgUni As Range
    Dim xFirstAddress As String
    Dim xStr As String
    On Error Resume Next
    xStr = "Name"
    Set xRg = Range("A1:P1").Find(xStr, , xlValues, xlWhole, , , True)
    If Not xRg Is Nothing Then
        xFirstAddress = xRg.Address
        Do
            Set xRg = Range("A1:P1").FindNext(xRg)
            If xRgUni Is Nothing Then
                Set xRgUni = xRg
            Else
                Set xRgUni = Application.Union(xRgUni, xRg)
            End If
        Loop While (Not xRg Is Nothing) And (xRg.Address <> xFirstAddress)
    End If
    xRgUni.EntireColumn.Select
End Sub

ملاحظة: في الكود أعلاه ، A1: P1 هو نطاق الرؤوس التي تريد تحديد الأعمدة منها ، و "الاسم"في البرنامج النصي xStr = "الاسم" هو اسم الرأس الذي تريد تحديد الأعمدة بناءً عليه. يرجى تغييرها حسب حاجتك.

3. بعد نسخ ولصق الرمز ، يرجى الضغط على F5 المفتاح لتشغيل هذا الرمز ، وتم تحديد جميع الأعمدة التي تحمل اسم الرأس المحدد مرة واحدة ، انظر الصورة:


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (6)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا رائع ، ولكن ماذا لو أردت نسخ اسم العميل ورقم الطلب وتاريخ الطلب وتاريخ الإيفاء وحالة الطلب من الورقة 1 مع العديد من الأعمدة.
كيف أحدد فقط الأعمدة المطلوبة لنسخها إلى ورقة أخرى؟ يبدو أن هذا يحدد عمودًا واحدًا فقط.
لقد جربت بعض الأشياء ، لكن المشكلة تكمن في أن الأعمدة ليست بالضرورة بنفس الترتيب في الورقة المصدر. يتم لصق البيانات المصدر في الورقة 1 من حافظة Windows في ورقة Excel.

قد يكون ، اسم العميل ، تاريخ الطلب ، رقم الطلب ، تاريخ استيفاء حالة الطلب أو بعض الطلبات الأخرى.

أحتاج إلى نسخها في ورقة جديدة بترتيب معين حيث توجد صيغ في الورقة 2 يتم تطبيقها على ما يتم نسخه من الورقة 1 إلى الورقة 2.

بخلاف تبديل الأعمدة بعد اللصق من حافظة Windows ، لا يمكنني معرفة ذلك.

الرجاء المساعدة إذا كان ذلك ممكنا.

شكرا لك على ما ورد أعلاه على الرغم من ذلك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
خافت xRg كمدى
خافت xRgUni كمجموعة
Dim xFirstAddress As String
خافت xStr كسلسلة

هي المتغيرات التي تم التصريح عنها.

ومن ثم لاستخدام الكود أعلاه مرة أخرى لعمود آخر ، يجب أن تعلن عن متغيرات جديدة.

خافت xRg2 كمدى
خافت xRgUni2 كمجموعة
خافت xFirstAddress2 كسلسلة
خافت xStr2 كسلسلة

واستبدل كل مثيل لـ xRg بـ xRg2 في الكود إلخ. هل هذا منطقي؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، يبدو عملًا رائعًا. لكني أتلقى خطأ الترجمة: الحجة ليست اختيارية أثناء إبراز ". Union". ماذا علي أن أفعل؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا - في البداية بدا أنه يعمل ، ولكن بعد ذلك لاحظت أنه لا يتضمن العمود الأول - لقد بدأ مع العمود الثاني وما بعده.

وهو ما يمكن تفسيره: لقد قمت بتعيين xRg مرتين ، لكنك لم تقم بتضمين الأول.

TBH: في البداية اعتقدت أنه يعمل بشكل جيد ، ولكن بعد ذلك ظهر هذا "الخطأ" واضطررت إلى معرفة السبب ...

لقد أصلحته على النحو التالي: (في Excel ستتحول التعليقات إلى اللون الأخضر وستظهر تعديلاتي: '***)



FindAddressColumn فرعي ()

تحديث بواسطة Extendoffcie

خافت xRg كمدى

خافت xRgUni كمجموعة

Dim xFirstAddress As String

خافت xStr كسلسلة

على خطأ استئناف التالي
xStr = "الاسم"
قم بتعيين xRg = Range ("A1: P1"). ابحث عن (xStr،، xlValues، xlPart،،، True)

إذا لم يكن xRg لا شيء إذن

xFirstAddress = xRg.Address

Do

إذا كان xRgUni لا شيء إذن

قم بتعيين xRgUni = Range (xFirstAddress) '*** باستخدام النطاق الذي تم العثور عليه أولاً

آخر

قم بتعيين xRgUni = Application.Union (xRgUni، xRg)

إنهاء حالة



اضبط xRg = Range ("A1: P1"). FindNext (xRg) '*** الآن يبحث عن الثانية / التالية



التكرار أثناء (ليس xRg لا شيء) و (xRg.Address <> xFirstAddress)

إنهاء حالة

xRgUni.EntireColumn.Select

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




هذا يناسبني الآن ، لكنني آمل أن أتعلم منك إذا أغفلت أي شيء.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هل يمكنك اقتراح الماكرو للمشكلة المذكورة أدناه بواسطة Shaun
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا لك يا سبو أنقذت يومي كثيرا!
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL