كيفية ترقيم الصفوف تلقائيًا إذا كانت الخلية المجاورة غير فارغة في Excel؟

في Excel، يعتبر استخدام مقبض التعبئة لإنشاء سلسلة من الأرقام يدويًا طريقة شائعة لتوليد أرقام متسلسلة أو فهارس للقوائم. ومع ذلك، هناك العديد من الحالات التي قد ترغب فيها فقط في ترقيم الصفوف إذا كانت الخلية المجاورة المحددة تحتوي على بيانات. على سبيل المثال، قد ترغب في إنشاء أرقام صفوف تلقائية في قائمة، ولكن تخطي الترقيم حيث تكون الخلايا المجاورة فارغة. وعلاوة على ذلك، قد تتوقع أن يتم تحديث هذه الأرقام فورًا عند إدخال أو حذف البيانات - مما يوفر تسلسلًا محدثًا دائمًا دون الحاجة إلى التدخل اليدوي.
ترقيم الصفوف تلقائيًا إذا كانت الخلية المجاورة غير فارغة باستخدام صيغة
ترقيم الصفوف تلقائيًا إذا كانت الخلية المجاورة غير فارغة باستخدام كود VBA
ترقيم الصفوف تلقائيًا إذا كانت الخلية المجاورة غير فارغة باستخدام صيغة
طريقة فعالة لتحقيق ترقيم الصفوف الديناميكي بناءً على قيم الخلايا المجاورة هي استخدام صيغة في Excel. باستخدام هذا النهج، سيتم عرض أرقام الصفوف فقط عندما تحتوي الخلية المجاورة على قيمة. عندما تقوم بإضافة أو حذف البيانات في هذه الخلايا، يتم تحديث الترقيم تلقائيًا ليناسب التغييرات. إليك طريقة عملية يمكنك استخدامها:
1. حدد الخلية التي تريد أن يبدأ بها الترقيم (على سبيل المثال، A2 إذا بدأت بياناتك في B2). أدخل الصيغة التالية:
=IF(B2<>"",COUNTA($B$2:B2),"")
2. بعد ذلك، اسحب مقبض التعبئة لأسفل بجانب بياناتك لتطبيق هذه الصيغة على الصفوف الأخرى. سيقوم الترقيم بالتعديل تلقائيًا، مع عرض الأرقام فقط للصفوف التي تحتوي على بيانات في العمود B.
إذا واجهت مشكلات لا يتم فيها تحديث الأرقام كما هو متوقع، فتأكد من أن الصيغة قد تم نسخها إلى جميع الصفوف ذات الصلة، وأنه لا توجد خلايا مدمجة أو عمليات تحقق من البيانات تتدخل في نطاقك. تذكر أن الصيغ تعتمد على الإشارات الدقيقة ويمكن أن تتأثر بالتغييرات الهيكلية في ورقة العمل.
ترقيم الصفوف تلقائيًا إذا كانت الخلية المجاورة غير فارغة باستخدام كود VBA
بالنسبة للمستخدمين المتقدمين، أو في الحالات التي تفضل فيها عدم تطبيق الصيغ في جميع أنحاء ورقة العمل الخاصة بك - أو تحتاج إلى ترقيم يتغير حتى عند لصق البيانات، أو حذف الكتل، أو إجراء تغييرات متكررة - يقدم ماكرو VBA بديلاً مقنعًا. باستخدام VBA، يمكنك تحديث أرقام الصفوف في عمود واحد تلقائيًا كلما تم تعديل الخلية المجاورة، دون الحاجة إلى الصيغ. هذا مثالي لأوراق إدخال البيانات، أو سجلات الاستيراد، أو قوائم المهام التي تتعرض للتغييرات المتكررة في التصميم.
1. اضغط على Alt + F11 لفتح نافذة محرر Visual Basic for Applications. في مستكشف المشروع، حدد دفتر العمل الخاص بك، ثم انقر نقرًا مزدوجًا على ورقة العمل ذات الصلة (مثل "Sheet1") ضمن "Microsoft Excel Objects".
2. في نافذة الكود التي تظهر، قم بلصق الكود التالي. يفترض هذا المثال أنك تريد ترقيم الصفوف في العمود A بناءً على ما إذا كان العمود B ليس فارغًا؛ يمكنك تعديل المراجع الخاصة بالنطاق الذي تحتاج إليه إذا لزم الأمر:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chk As Range
Set chk = Intersect(Target, Me.Columns("B"))
If chk Is Nothing Then Exit Sub
Application.EnableEvents = False
Call RenumberNonBlank(Me, "B", "A", 2)
Application.EnableEvents = True
End Sub
Sub RenumberNonBlank(ws As Worksheet, _
keyCol As String, _
numCol As String, _
firstDataRow As Long)
Dim lastRow As Long
Dim r As Long
Dim seq As Long
lastRow = ws.Cells(ws.Rows.Count, keyCol).End(xlUp).Row
seq = 1
For r = firstDataRow To lastRow
With ws
If Trim(.Cells(r, keyCol).Value) <> "" Then
.Cells(r, numCol).Value = seq
seq = seq + 1
Else
.Cells(r, numCol).ClearContents
End If
End With
Next r
End Sub
3. احفظ وأغلق محرر VBA. الآن، كلما قمت بإضافة أو تعديل أو مسح محتوى في العمود B، سيتم إعادة ترقيم العمود A فورًا، مما يعكس وجود (أو غياب) البيانات. سيتحرك التسلسل لأعلى أو لأسفل أثناء إضافة أو حذف الإدخالات في العمود B.
ملاحظات واحتياطات: يجب وضع هذا الماكرو تحديدًا في نافذة كود ورقة العمل المرغوبة (وليس في وحدة أو ThisWorkbook) ليكون قادرًا على الاستجابة لتحرير الخلايا. أيضًا، تأكد من تمكين الماكرو في إعدادات Excel الخاصة بك لكي يعمل الكود. إذا تغير "نطاق البيانات" إلى أعمدة أخرى غير A و B، قم بتحديث Set chk = Intersect(Target, Me.Columns("B"))
و Call RenumberNonBlank(Me, "B", "A", 2)
المراجع وفقًا لذلك.
استكشاف الأخطاء وإصلاحها: إذا لم يتم تحديث الترقيم، تحقق مرة أخرى من أنك تقوم بتحرير ورقة العمل المناسبة وأن الكود موجود في نافذة كود ورقة العمل المناسبة. أيضًا، تأكد من أنك قد قمت بحفظ دفتر العمل كملف مُمكن به الماكرو (.xlsm). بالنسبة للأخطاء غير المتوقعة، تحقق من أنك لم تقم بتغيير هيكل ورقة العمل الخاصة بك، مثل الخلايا المدمجة أو البيانات في صفوف العنوان.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel باستخدام Kutools لـ Excel، واختبر كفاءة غير مسبوقة. Kutools لـ Excel يوفر أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة الأكثر أهمية بالنسبة لك...
Office Tab يجلب واجهة التبويب إلى Office ويجعل عملك أسهل بكثير
- تفعيل تحرير وقراءة عبر التبويبات في Word، Excel، PowerPoint، Publisher، Access، Visio وProject.
- افتح وأنشئ عدة مستندات في تبويبات جديدة في نفس النافذة، بدلاً من نوافذ مستقلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات اليومية من الفأرة!
جميع إضافات Kutools. مثبت واحد
حزمة Kutools for Office تجمع بين إضافات Excel وWord وOutlook وPowerPoint إضافة إلى Office Tab Pro، وهي مثالية للفرق التي تعمل عبر تطبيقات Office.





- حزمة الكل في واحد — إضافات Excel وWord وOutlook وPowerPoint + Office Tab Pro
- مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
- الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
- تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد