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

كيفية إخفاء أو إظهار ورقة عمل معينة بناءً على قيمة الخلية في ورقة أخرى؟

هل هناك أي طرق لنا لإخفاء علامة تبويب ورقة عمل معينة أو إظهارها استنادًا إلى محتوى خلية في ورقة أخرى؟ على سبيل المثال ، عندما أقوم بإدخال النص "نعم" في الخلية G1 من الورقة 2 ، أريد إخفاء الورقة 1 ، وعندما أدخل "لا" ، يتم عرض الورقة 1 مرة واحدة. كيف يمكنني حل هذه المشكلة في Excel؟

إخفاء أو إظهار علامة تبويب ورقة عمل معينة استنادًا إلى قيمة الخلية برمز VBA


السهم الأزرق الحق فقاعة إخفاء أو إظهار علامة تبويب ورقة عمل معينة استنادًا إلى قيمة الخلية برمز VBA

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

1. انتقل إلى ورقة العمل التي تحتوي على قيمة الخلية التي تريد إخفاء ورقة أخرى بناءً عليها.

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

كود فبا: إخفاء أو إخفاء علامة تبويب ورقة العمل بناءً على قيمة الخلية:

Private Sub Worksheet_Change(ByVal Target As Range)
If [G1] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If
End Sub

علامة تبويب إخفاء المستند استنادًا إلى قيمة الخلية 1

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

3. ثم احفظ وأغلق هذا الرمز ، عند إدخال "لا" أو نص آخر في الخلية G1 ، تكون الورقة 1 مخفية ، ولكن إذا أدخلت "نعم" في الخلية ، فسيتم عرض الورقة 1 في الحال ، فراجع لقطات الشاشة:

علامة تبويب إخفاء المستند استنادًا إلى قيمة الخلية 2
1
علامة تبويب إخفاء المستند استنادًا إلى قيمة الخلية 3

 


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

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

 

فرز التعليقات حسب
التعليقات (23)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا
شكرا على البقشيش. أحتاج إلى القيام بنفس السيناريو ولكن ليس على خلية واحدة فقط (G1 في هذه الحالة) ولكن على جميع خلايا العمود G. لقد حاولت باستخدام "Range" ولكنه لم ينجح.

ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
إذا كان النطاق ("X2: X100") = "" إذن
جداول البيانات ("القياسات المستندة إلى مهام الاتحاد الأوروبي"). مرئية = خطأ
آخر
جداول البيانات ("القياسات المستندة إلى مهام الاتحاد الأوروبي"). مرئية = صحيح
إنهاء حالة
نهاية الفرعية


شكرا لكم مقدما
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أي فرصة تم الرد على هذا؟ أنا أيضًا أواجه هذا السيناريو حيث يتم تشغيل مجموعة كاملة بدلاً من خلية واحدة فقط ... لقد استخدمت نفس الترميز مع نفس النتائج.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
قمت بعمل ورقتين عمل على النحو التالي:
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
إذا [C20] = "نعم" إذن
أوراق ("sheet1"). مرئية = صحيح
آخر
أوراق ("sheet1"). مرئية = خطأ
إنهاء حالة
إذا [C22] = "نعم" إذن
أوراق ("sheet2"). مرئية = صحيح
آخر
أوراق ("sheet2"). مرئية = خطأ
إنهاء حالة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مفيد جدا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أريد معرفة ما إذا كان يمكنك المساعدة في مشكلتي. لقد كان لدي هذا الرمز الدقيق في ورقة أستخدمها ولكن مع وظيفة أو وظيفة لذا يمكن أن تكون الإجابة "نعم" أو "صحيحة". ومع ذلك ، فإن الورقة التي يتم إخفاؤها / إظهارها في بعض الأحيان تعيد إخفاء نفسها لأسباب غير معروفة. سيتم إظهاره عندما أكتب نعم ، ولكن عندما أذهب لاستخدامه لاحقًا ، يتم إخفاؤه مرة أخرى ، على الرغم من أن قيمة الخلية لا تزال نعم. هل لديك أي فكرة عن سبب حدوث ذلك و / أو كيفية إصلاحه؟
رمز كمرجع:
Private Sub Worksheet_Change (ByVal Target As Range) "إخفاء / إظهار صفحة المعايرة
إذا كان [B18] = "نعم" أو Target.Value = "صحيح" إذن
جداول البيانات ("التحقق من XXX"). المرئي = صحيح
آخر
جداول البيانات ("التحقق من XXX"). مرئية = خطأ
إنهاء حالة

تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا لدي مصنف به عدة علامات تبويب مسماة مرتبطة بورقة فهرس في المقدمة. يمكن للمستخدم تحديد الأوراق التي يريد استخدامها عن طريق تحديد مربع بجوار اسم الورقة - فارغ أو غير متاح أو نعم (قائمة منسدلة). هل هناك طريقة لتكييف هذا الرمز بحيث تكون الورقة مرئية إذا كانت خانة الاختيار فارغة أو تحتوي على "نعم" ولكنها غير مرئية إذا كانت خانة الاختيار تحتوي على "غير متاح".
لقد حاولت ولكن لا أعرف ما يكفي عن VBA لجعله يعمل. شكرًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إنني أتطلع لإخفاء الأوراق أو إظهارها بناءً على قيمة الخلية (نعم / لا). القيم موجودة في جدول (tblFileContents) والعمود D4: D25 واسم الورقة موجود في A4: A25 على الورقة . يمكن تغيير ترتيب العناصر. هل لديك إشارة إلى مثال يسمح لي بذلك؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لدي نفس المشكلة وقدم شخص آخر حلاً.
قم بعمل جدول (تنسيق كجدول) من عمودين ، وقم بتسمية العمود الأيسر "أوراق" لإظهار / إخفاء ، العمود الأيمن متروك لك. ضع جميع أسماء الأوراق في العمود الأيسر
ثم حدد View Code لعلامة التبويب هذه وأدخل Dim Changed As Range ، c As Range ، rMTS As Range
خافت أنا طويلة
خافت bShowAll As Boolean

اضبط rMTS = النطاق ("TblShowHide [وضع علامة للعرض]")
تم تغيير المجموعة = تقاطع (الهدف ، rMTS)
إذا لم يتم تغييره فلا شيء إذن
bShowAll = Len (rMTS.Cells (1) .Value)> 0
على خطأ استئناف التالي
من أجل i = 2 إلى rMTS.Rows.Count
الأوراق (المدى ("TblShowHide [إظهار / إخفاء الأوراق]"). الخلايا (i) .Value) .Visible = IIf (bShowAll، True، Len (rMTS.Cells (i) .Value)> 0)
أنا القادم
على خطأ GoTo 0
إنهاء حالة
نهاية الفرعية


تم تصغير هذا التعليق بواسطة المشرف على الموقع
وسوف تعطي هذه المحاولة. شكراً جزيلاً!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لست متأكدًا مما أحتاج إلى تغييره ولكنه لم ينجح معي.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا جين،
نعم لدي مثال أرفقته هنا. أعد تسمية الملف إلى example.xlsm (لم يتم ضغطه ، ولكن يجب إعادة تسميته للتحميل)
في علامة تبويب القائمة يوجد جدول بأسماء علامات التبويب المختلفة ، قم بعمل حرف x أو أي حرف آخر لإظهار علامة التبويب ، إذا قمت بإزالة الحرف ، فإن علامة التبويب تخفي.
امل ان يساعد
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا يحتوي على عدة عناصر ولكن لا يوجد ملف اكسل.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أرغب في الحصول على قائمة / جدول محتويات كأول ورقة عمل خاصة بي وبناءً على إجابات نعم / لا - تظهر أوراق عمل معينة ، أي يصبح أكثر من 1 مرئيًا.
أنا أكافح من أجل ظهور العديد من أوراق العمل بناءً على الكود أعلاه.
هل يمكنني استخدام وظيفة AND ، على سبيل المثال ، إذا كانت X cell = "نعم" ، فقم بإظهار Y Sheet و Z Sheet و K Sheet؟
أي مشورة رحب كثيرا.
التحيات
هيلين
تم تصغير هذا التعليق بواسطة المشرف على الموقع
А я вот не могу понять، как такое сделать в гугл таблицах именно؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا صديق،

يمكنك فتح ورقة جديدة في Google وإضافة ورقة جديدة بحيث يكون هناك "ورقة 1" و "ورقة 2" ثم انتقل إلى أدوات> محرر النص. في المحرر ، الصق ما يلي.

وظيفة myFunction () {
var ss = SpreadsheetApp.getActiveSpreadsheet () ،
var sheet1 = ss.getSheetByName ("Sheet1") ؛
var sheet2 = ss.getSheetByName ("Sheet2") ؛

var cell1 = sheet1.getRange ('B2') ،

إذا (cell1.getValue () == 2) {
sheet2.hideSheet () ،
}

إذا (cell1.getValue () == 3) {
sheet2.showSheet () ،
}
}

يرجى المحاولة.

مع خالص الشكر والتقدير،
ماندي
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يعمل هذا الرمز بشكل رائع ، ومع ذلك لدي 42 متغيرًا لـ 70 ورقة ، لذا فإن هذا الرمز طويل جدًا ويتوقف عن العمل. هل هناك طريقة لجعل هذا الرمز في أقسام بحيث لا يتجاوز حجم الكود الذي يمكن لـ VBA التعامل معه؟ أو هل يجب أن أقسم هذين إلى جزأين ممتازين؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ليز
عذرًا ، في الوقت الحالي ، لا توجد طريقة جيدة لحل مشكلتك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لدي قيمة في الخلية B1 أنه إذا كانت الإجابة بنعم تُظهر الورقة 1 ولكن أيضًا قيمة في B2 ، فهذا إذا كانت الإجابة بنعم تُظهر الورقة 2 وما إلى ذلك. 10 أوراق مختلفة؟ شكرًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا اندي
لحل مشكلتك ، يرجى تطبيق الكود أدناه:
Private Sub Worksheet_Change(ByVal Target As Range)
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If
If [B3] = "Yes" Then
Sheets("Sheet2").Visible = True
Else
Sheets("Sheet2").Visible = False
End If
If [B4] = "Yes" Then
Sheets("Sheet3").Visible = True
Else
Sheets("Sheet3").Visible = False
End If
If [B5] = "Yes" Then
Sheets("Sheet4").Visible = True
Else
Sheets("Sheet4").Visible = False
End If
If [B6] = "Yes" Then
Sheets("Sheet5").Visible = True
Else
Sheets("Sheet5").Visible = False
End If
End Sub

ملاحظة: في الكود أعلاه ، تحتاج فقط إلى نسخ البرامج النصية أدناه عدة مرات وتغيير مرجع الخلية واسم الورقة إلى اسمك الخاص.
If [B2] = "Yes" Then
Sheets("Sheet1").Visible = True
Else
Sheets("Sheet1").Visible = False
End If


يرجى المحاولة ، آمل أن يساعدك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أواجه مشكلة حيث أريد أن تظهر علامة التبويب لمجموعة من القيم ، بدلاً من مجرد نعم أو لا. عندما أحاول تكرار عبارة IF في الجزء الفرعي ، فهذا يعطيني خطأ وعندما أحاول سرد قيم متعددة في عبارة if ، أحصل على خطأ. أيه أفكار؟

يبدو أنني بحاجة إلى استخدام عبارة IF / OR ولكني لست متأكدًا من كيفية عمل ذلك.

ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
إذا كان [K6] = "VS 1" ، "VS 2" ، "VS 3" ، VS 4 "إذن
الأوراق ("الصفحة 6"). المرئي = صحيح
آخر
أوراق ("صفحة 6"). مرئي = خطأ
إنهاء حالة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا مارجريت
لحل مشكلتك ، يرجى تطبيق الكود أدناه ، يجب عليك استخدام Or للانضمام إلى الشروط.
Private Sub Worksheet_Change(ByVal Target As Range)
If [K6] = "VS 1" Or [K6] = "VS 2" Or [K6] = "VS 3" Or [K6] = "VS 4" Then
Sheets("Page6").Visible = True
Else
Sheets("Page6").Visible = False
End If
End Sub

يرجى المحاولة ، آمل أن يساعدك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Skyyang - هذا يعمل بشكل مثالي. شكرا لردكم السريع!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحاول استخدام هذا ولكنه يأتي مع "خطأ تجميع - لا يمكن العثور على مشروع أو مكتبة" وإبراز الخلية حيث توجد القائمة المنسدلة نعم / لا. أعتقد أنه قد يكون بسبب كون هذه الخلية مدمجة ، فهل هناك أي طريقة للتغلب على هذا؟
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

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