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

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

إذا كان لديك نطاق من البيانات يملأ بعض الخلايا الفارغة في عمود ، وتريد الآن إخفاء الصفوف التي تحتوي على الخلايا الفارغة في هذا العمود تلقائيًا. هل هناك طرق جيدة لحل هذه الوظيفة في Excel بسرعة وسهولة؟

إخفاء الصفوف تلقائيًا إذا كانت الخلايا فارغة في عمود برمز VBA


السهم الأزرق الحق فقاعة إخفاء الصفوف تلقائيًا إذا كانت الخلايا فارغة في عمود برمز VBA

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

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

رمز فبا: إخفاء الصفوف تلقائيًا إذا كانت الخلايا الفارغة في عمود:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("A1:A20")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
        
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub

إخفاء الصفوف تلقائيًا doc 1

ملاحظة: في الكود أعلاه ، A1: A20 هي قائمة البيانات التي تحتوي على الخلايا الفارغة التي تريد إخفاءها تلقائيًا.

2. ثم ارجع إلى ورقة العمل ، والآن ، عندما تنقر نقرًا مزدوجًا فوق أي خلية وتضغط أدخل key ، تم إخفاء الصفوف التي تحتوي على خلايا فارغة في العمود A مرة واحدة ، وإذا قمت بمسح أي محتوى خلية في الخلايا المحددة في العمود A ، فسيتم إخفاء الصفوف تلقائيًا.

إخفاء الصفوف تلقائيًا doc 2

 


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

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٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع

 

فرز التعليقات حسب
التعليقات (32)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أنا أستخدم برنامج Excel 2016 وهو لا يعمل. أحصل على رسالة خطأ sintax. ممكن تساعد
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا يا نملة

يعمل الكود أعلاه بشكل جيد في Excel 2016 الخاص بي ، هل قمت بتغيير مرجع الخلية في الكود حسب حاجتك؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحصل على خطأ وقت التشغيل ´13´:



اكتب عدم تطابق



شخص يمكنه المساعدة ؟؟؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يمكنني إيقاف تشغيل هذا الماكرو تلقائيًا بعد الضغط على مفتاح الإدخال؟ هل يمكنني إرفاقه بزر لإخفاء الخلايا عند النقر فقط؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل تمكن أحد من حل هذا الموضوع؟ أنا أيضا أود أن أعرف.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أي شخص يأتي بالإجابة حتى الآن؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
نفس السؤال هنا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا يا شباب،
لإخفاء الصفوف التي يحتوي عمود معين على خلايا فارغة باستخدام زر ، يرجى القيام بذلك على النحو التالي:
أولاً ، يجب عليك إدخال زر الأمر من علامة التبويب المطور.
ثم قم بتطبيق كود فبا التالي لزر الأمر ، (ملاحظة: يرجى تغيير مرجع الخلية a1: a20 إلى الخاص بك)

أمر فرعي خاص
خافت rng كمدى ، x كمدى
تعيين rng = المدى ("a1: a20")
Application.ScreenUpdating = خطأ
لكل x في rng
إذا كان Len (x.Text) = 0 ثم
x.EntireRow.Hidden = صحيح
آخر
x.EntireRow.Hidden = خطأ
إنهاء حالة
س المقبل
Application.ScreenUpdating = ترو
نهاية الفرعية

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

ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
خافت xRg ، xCell كمدى
خافت xRgs ، xRgArea كنطاق
تعيين xRgs = Range ("A1: A22، D1: D22")
Application.ScreenUpdating = خطأ
عند الخطأ GoTo Ctn
لكل xRgArea في xRgs.Area
Debug.Print xRgArea.Address
لكل xRg في xRgArea.Columns
لكل xCell في xRg.Rows
إذا كانت xCell.Value = "" إذن
xCell.EntireRow.Hidden = صحيح
GoTo Ctn
عدا ذلك ، إذا لم يكن xCell.EnireRow. تم إخفاءه بعد ذلك
xCell.EntireRow.Hidden = خطأ
إنهاء حالة
الشركة التونسية للملاحة:
التالى
التالى
التالى
Application.ScreenUpdating = ترو
نهاية الفرعية

يمكنك تغيير مراجع الخلايا حسب حاجتك.
ارجو تجربة ذلك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
بسم الله وجزاكم الله خيرا هذا الكود رائع ولكن حين قمت بحذف الصف في الصف يبطأ الشيت بطريقة طويلة جدا فما العمل؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أريد أن أعرف ما إذا كان الكود سيعمل إذا كانت الخلية فارغة كنتيجة للصيغة؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، ACHINTA ،
يتم تطبيق رمز VBA أعلاه أيضًا على الخلايا الفارغة كنتيجة للصيغة ، يمكنك تجربتها ، شكرًا لك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تعمل الصيغة على إخفاء الخلايا بناءً على المعلومات ، في البداية ، لكنها لا تعيد الكشف عن الخلايا إذا تغير محتواها. أريده أن يكشف عن أي خلايا جديدة مملوءة بالمعلومات (والتي تحدث عبر بحث الخلية). كيف أقوم بهذا العمل؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
بوم ديا ، إستا مينها ضروري تامبيم.

Preciso ocultar e quando a célula for preenchida (uso uma fórmula que preenche a mesma se hover valor em outra planilha) seja reexibida a linha novamente de forma automática.

شاكرين.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ما أريده هو شيء من هذا القبيل للعمل في الورقة النشطة:

إذا كانت الخلايا D2: D55 = ""
ثم Hide.EntireRow

إذا كانت الخلايا D2: D55 = "لها أي قيمة"
ثم Show.EntireRow

كيف؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، Kacha ، ما عليك سوى تغيير مرجع الخلية في الكود إلى نطاق الخلايا الخاص بك على النحو التالي: تغيير ورقة العمل الفرعية الخاصة (الهدف ByVal كنطاق)
'تحديث بواسطة Extendoffice
خافت xRg كمدى
Application.ScreenUpdating = خطأ
لكل xRg في النطاق ("D2: D55")
إذا كانت xRg.Value = "" إذن
xRg.EntireRow.Hidden = صحيح

آخر
xRg.EntireRow.Hidden = خطأ
إنهاء حالة
التالي xRg
Application.ScreenUpdating = ترو
End Sub بعد إدخال الرمز ، يرجى تذكر النقر نقرًا مزدوجًا فوق أي خلية والضغط على مفتاح Enter لجعل الرمز ساريًا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ما هي أبسط طريقة للتراجع عن الإخفاء التلقائي؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، mình có dùng 2 code trong 1 file excel (1 code là của bạn) với mục ích in ra những bản riêng biệt và không bị thừa dòng trống. Khi mình ấn in từng bản thì ok nhưng nếu in 1 loạt thì code Hide không có tác dụng، bạn xem giúp mình với nhé، mình cảm ơn!

فرعي PRINT_PRINT ()
خافت rng كمدى ، x كمدى
تعيين rng = المدى ("a16: a23")
Application.ScreenUpdating = خطأ
لكل x في rng
إذا كان Len (x.Text) = 0 ثم
x.EntireRow.Hidden = صحيح
آخر
x.EntireRow.Hidden = خطأ
إنهاء حالة
س المقبل
Application.ScreenUpdating = ترو


خافت p1، p2، ​​i &
p1 = Sheet1.Range ("O1"). القيمة
p2 = Sheet1.Range ("O2"). القيمة
إذا كان IsNumeric (p1) = False أو IsNumeric (p2) = False ثم
tb = MsgBox ("So code phai la so."، "Thông báo")
خروج الفرعية
إنهاء حالة
إذا كان p1> p2 ثم
tb = MsgBox ("So code sau phai> = so code truoc."، "Thông báo")
خروج الفرعية
إنهاء حالة
إذا كان p1 <1 أو p2 <1 ثم
tb = MsgBox ("So code phai> = 1."، "Thông báo")
خروج الفرعية
إنهاء حالة
إذا كان p1 <= p2 ثم
من أجل i = p1 إلى p2
Sheet1.Range ("M2"). القيمة = i
ورقة 1.PrintOut
التالى
إنهاء حالة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Hola، Necesito crear una macro que me oculte una columna.Sería así: en la primera fila poner un 1 a las columnas que no quiero ocultar y no poner ningún valor a las عمود que quiero ocultar. Estoy haciendo el siguiente código، pero no se en que Fallo:
Sub OcultarColumnaSin1 ()
Application.ScreenUpdating = خطأ
لكل رانجو في الأعمدة
إذا رانجو = "" إذن
rango.EntireColumn.Hidden = صحيح
آخر
rango.EntireColumn.Hidden = خطأ
إنهاء حالة
رانجو التالي
Application.ScreenUpdating = ترو
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا يعمل بشكل رائع بالنسبة لي ، إنه يخفي الصفوف ويفتحها عندما تتغير قيمي بناءً على الصيغ. السؤال الذي أطرحه هو أن ملاءتي يبلغ طولها 104 صفًا. إنها تتحرك قليلاً في كل مرة أنقر فيها على خلية. هل من طريقة لتسريع الانتقال عند تفعيله؟ أم هو جهاز الكمبيوتر الخاص بي؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أود إخفاء الصفوف تلقائيًا إذا كان العمود E فارغًا أو 0
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إذا كانت القيمة في العمود E فارغة أو 0 أود إخفاء الصف تلقائيًا. إذا تغيرت القيمة في E إلى شيء آخر غير فارغ أو 0 أود إظهاره. التقرير 1500 صف
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا كاثي
لإخفاء الصفوف تلقائيًا بناءً على خلايا فارغة أو قيم 0 ، يرجى استخدام رمز vba أدناه:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("E1:E1500")
            If (xRg.Value = "") Or (xRg.Value = "0") Then
                xRg.EntireRow.Hidden = True
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub


من فضلك حاول ، آمل أن يساعدك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف تخفي الصف الذي يحتوي على خانة الاختيار؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ، سويتا

لإخفاء الصفوف مع مربع الاختيار ، قد تفيدك المقالة أدناه:
كيفية إخفاء خانة الاختيار عند إخفاء الصف في Excel؟

يرجى المحاولة ، إذا كان لا يزال لديك أي سؤال آخر ، يرجى التعليق هنا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عند تنفيذ الكود في Office 2013/2019/2021 ، فإنه يعمل ولكنه يستغرق وقتًا طويلاً لإكماله (95 صفًا فقط لإخفائها).
كيف يمكنك تسريع هذا؟
شكر!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا عساف
يعمل الكود جيدًا في ملف Excel الخاص بي ، فهل يمكنك تحميل دفتر عمل المرفق الخاص بك هنا إذا كنت لا تمانع؟ حتى نتمكن من المساعدة في التحقق من المشكلة.

شكرا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
apakah ada rumus lain ؟، saya berharap baris kosong itu akan terhapus saat mencetak file menjadi PDF tapi tampilan di excelnya tetap
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا نورجانه
لحل مشكلتك ، أولاً ، يجب إخفاء الصفوف الفارغة ، ثم طباعة البيانات ، بعد طباعة البيانات ، تحتاج إلى إظهار الصفوف الفارغة مرة أخرى. يرجى القيام بذلك على النحو التالي:
1. قم بتطبيق هذه الصيغة: = COUNTA (A2: E2) بجانب بياناتك ، انظر الصورة:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. بعد ذلك ، قم بتصفية عمود المساعد الجديد فارغ ، وقم بإخفاء جميع صفوف القيمة 0 ، انظر لقطة الشاشة:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. وبعد ذلك ، يجب إخفاء العمود الفارغ الجديد ، وطباعة البيانات ، بعد طباعة ورقة العمل ، يرجى إلغاء عامل التصفية لإظهار الصفوف الفارغة حسب حاجتك.
من فضلك حاول ، آمل أن يساعدك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، لدي مشكلات مع "أتمتة" الماكرو. أنا أبحث عن طريقة لعمل الكود كعملية آلية دون الحاجة إلى تشغيل الماكرو "يدويًا". لقد كنت أستخدم متغيرًا خاصًا بي من التعليمات البرمجية الخاصة بك نظرًا لأنني وجدت مشكلات في استخدام التعليمات البرمجية الخاصة بك. هذا هو البديل الخاص بي:

الصفوف الفرعية إخفاء ()
خافت xRg كمدى
Application.ScreenUpdating = خطأ
لكل xRg في النطاق ("A3: A800")
إذا (xRg.Value = "") ثم
xRg.EntireRow.Hidden = صحيح
آخر
xRg.EntireRow.Hidden = خطأ
إنهاء حالة
التالي xRg
Application.ScreenUpdating = ترو
نهاية الفرعية

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

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

تواصل معنا

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