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

كيف تجعل خلية معينة إلزامية إدخال قبل إغلاق المصنف؟

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

اجعل إدخال الخلية إلزاميًا باستخدام VBA


السهم الأزرق الحق فقاعة اجعل إدخال الخلية إلزاميًا باستخدام VBA

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

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

فبا: جعل الخلية إلزامية

    If Cells(1, 2).Value = "" Then
        MsgBox "Cell B1 requires user input", vbInformation, "Kutools for Excel"
        Cancel = True
    End If

doc إلزامي أدخل 1

3. ثم احفظ هذا الرمز وأغلق هذه النافذة المنبثقة. الآن ، إذا كانت الخلية B1 فارغة عند إغلاق المصنف ، فسيظهر مربع الحوار أدناه لتذكيرك بإدخال شيء ما في B1. انظر لقطة الشاشة:
doc إلزامي أدخل 2

معلومه- سرية: يمكنك تغيير الخلية B1 إلى الخلايا الأخرى التي تريدها.


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

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٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (30)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف أجعل العمود D16-D300 إلزاميًا إذا كان للعمود B16-300 قيم؟ لقد استخدمت الكود أدناه للصف 16 وجربت الاختلافات ولكنها لا تعمل. أي مساعدة يحظى بتقدير كبير! "أعمالنا التجارية كحقل إلزامي - تحتاج إلى الإصلاح إذا لم يكن هناك أي شيء وانبثاق النافذة Private Sub Workbook_BeforeClose (Cancel As Boolean)" الخطوة 1: تحقق لمعرفة ما إذا كانت الخلية A1 فارغة إذا كانت الأوراق ("متعقب الإجازات الحساسة"). النطاق ("B16"). Value "" And Sheets ("Sensitive Leave Tracker"). Range ("D16"). Value = "" ثم 'الخطوة 2: فارغ: قم بإلغاء الإغلاق وأخبر المستخدم إلغاء = True MsgBox "غير قادر مطلوب إغلاق الحقل "" الخطوة 3: ليس فارغًا ؛ حفظ وإغلاق آخر ActiveWorkbook.Close SaveChanges: = True End If End Sub
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا ، آسف للرد في وقت متأخر جدا. هنا هو رمز الماكرو الذي قد تحتاجه. إذا كان يعمل ، من فضلك أعلمني. شكرًا!

إذا كان Application.WorksheetFunction.CountA (النطاق ("B16: B300"))> 0 ثم

إذا كان Application.WorksheetFunction.CountA (Range ("D16: D300")) <> Range ("D16: D300"). عد بعد ذلك

MsgBox "الخلية D16: D300 تتطلب إدخال المستخدم" ، vbInformation ، "Kutools for Excel"

إلغاء = صحيح

إنهاء حالة

إنهاء حالة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف أجعل العمود Q7-Q500 إلزاميًا إذا كان العمود B7-B500 يحتوي على قيم

لا أريد حفظ flle قبل إكمال الإيداع الإلزامي.

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

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


هل بإمكانك مساعدتي؟

شكر!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أي تحديث على هذا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أنا مهتم بهذا أيضًا ، شكرًا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لدي نفس هذه المشكلة. هل هناك طريقة لجعل الخلية إلزامية ولكنها فارغة للقالب؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا بالجميع ، لقد وجدت أن الحل هو إيقاف الماكرو مؤقتًا في شاشة alt + f11. يمكن بعد ذلك حفظه وسيتم إعادة تشغيله عند فتحه في المرة التالية. للقيام بذلك ، اضغط على alt + f11 ثم في صف الرموز أعلى النافذة (نفس الرمز الموجود على رمز قرص الملف الأزرق الصغير) ، سترى أيقونات التشغيل والإيقاف المؤقت والإيقاف باللونين الأخضر والأزرق (يجب أن تكون ضمن التصحيح والتشغيل والخيارات). انقر فوق زر الإيقاف المؤقت ثم يمكنك الحفظ.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا بالجميع ، لقد وجدت أن الحل هو إيقاف الماكرو مؤقتًا في شاشة alt + f11. يمكن بعد ذلك حفظه وسيتم إعادة تشغيله عند فتحه في المرة التالية. للقيام بذلك ، اضغط على alt + f11 ثم في صف الرموز أعلى النافذة (نفس الرمز الموجود على رمز قرص الملف الأزرق الصغير) ، سترى أيقونات التشغيل والإيقاف المؤقت والإيقاف باللونين الأخضر والأزرق (يجب أن تكون ضمن التصحيح والتشغيل والخيارات). انقر فوق زر الإيقاف المؤقت ثم يمكنك الحفظ.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، جرب الكود أدناه ، والذي سيجبر المستخدمين الآخرين على إدخال قيمة في النطاق A7: M7 قبل إغلاق المصنف ، لكن اسمح لنفسك بتجميع المصنف دون ملء.
ملاحظة: قم بتغيير عباد الشمس إلى اسم المستخدم الخاص بك. للبحث عن اسم المستخدم الخاص بك وتحريره ، انقر فوق ملف> خيارات> عام> اسم المستخدم.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim rg As Range
Dim rgs As Range
Set rgs = Application.Range("A7:M7")
If Application.UserName = "sunflower" Then
Exit Sub
End If
    For Each rg In rgs
        If rg.Value = "" Then
        MsgBox "Range A7:M7 requires user input", vbInformation, "Kutools for Excel"
        Cancel = True
        Exit Sub
       End If
    Next
End Sub

آمل أن يساعدك هذا الرمز.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل توجد أي طريقة يمكنني من خلالها احتواء الخلية المطلوبة f4 و F5 على بيانات قبل الإغلاق أو الحفظ؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ما عليك سوى تغيير B1 إلى F4 و F5 في مربع النص لتذكير المستخدمين.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أريد أن أجعل الصفوف C2 إلى C7 إلزامية و C13 إلى C19 إلزامية؟

أي مساعدة؟

هناك مجموعتان من النطاقات هنا ولكن تحت نفس العمود.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أريد أن أجعل علامات التجزئة إلزامية في الورقة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل هناك طريقة لجعل إدخال الخلايا إلزاميًا قبل استخدام زر أمر Active X؟ لدي إعداد زر أمر لإرسال نموذج عبر البريد الإلكتروني ولكني أريد أن أجعل خلايا معينة إلزامية قبل أن يرسل الزر البريد الإلكتروني.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، كريج ، آسف ، لا يمكن حل هذه المشكلة هنا ، ربما يمكن للآخرين مساعدتك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
السؤال ، عمل الكود ، ولكن كيف يمكن اختيار نطاق من A7: M7 حتى الصف الأخير؟

وعندما يقوم المستخدم بحفظ المصنف أو إغلاقه ، يجب ملء الحقل الإلزامي
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا Lester ، إليك رمز قمنا بتعديله قد يساعدك في تغيير النطاق A2: F2 إلى النطاق الذي تحتاجه.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'UpdatebyExtend20220916
Dim xRgCount As Integer

Dim xURg As Range

Dim xStr As String

Dim xWSh As Worksheet

Dim xRg, xRg1, xRg2, xRg3 As Range

xStr = "A2:F2"

 

Set xWSh = Application.ActiveSheet

Set xRg = xWSh.Range(xStr)

Set xURg = xWSh.UsedRange

Set xRg1 = xWSh.Cells.Item(xRg.Row + xRg.Rows.Count, 1)

Set xRg2 = xURg.Item(xURg.Count)

Set xRg3 = xWSh.Range(xRg1, xRg2)

Debug.Print xRg3.Address

If (xURg.Row + xURg.Rows.Count - 1) > (xRg.Row + xRg.Rows.Count - 1) Then

   If Application.WorksheetFunction.CountA(xRg3) <> xRg3.Count Then

    MsgBox "There are blank cells under range A2:F2", vbInformation, "Kutools for Excel"

Cancel = True

   End If

End If

End Sub


تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل من الممكن إنشاء رمز في مصنف جديد تم إنشاؤه؟ السيناريو هو ، سأقوم بإنشاء مصنف جديد ، ويجب أن يحتوي المصنف الذي تم إنشاؤه على حقل إلزامي ليتم ملؤه ، ولا يمكن للمستخدم الحفظ إلا إذا لم يتم ملء الحقل الإلزامي. لقد قمت بالفعل بإنشاء ، إنشاء مصنف جديد. مشكلتي هي أن المصنف الجديد الذي تم إنشاؤه لا يحتوي على رمز.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل هو موغيليجك أوم ألس ريجيل إرين تي زيتن دات أيه سي 1 في بيبالدي تكست بيفات دان دي 1 أووك إنجيفولد موت وردن. Dit moet gelden voor حوالي 2.000 ريجل. Het bestand wordt elke keer aangevuld dus het allen gelden voor het aantal regels die nu zijn ingevuld.

Wanneer ik volgende functie erin zet werkt het niet zoals ik wil omdat ik dan meldingen krijg van cellen die nog aangevuld moeten worden en ik wil een tekst als waarde en cijfer.

Als Application.WorksheetFunction.CountA (النطاق ("B16: B300"))> 0 ثم

إذا كان Application.WorksheetFunction.CountA (Range ("D16: D300")) <> Range ("D16: D300"). عد بعد ذلك

MsgBox "Cell D16: D300 vereist gebruikersinvoer" ، vbInformation ، "Kutools for Excel"

Annuleren = Waar

إنهاء حالة

إنهاء حالة

Gr إيما
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يمكنني إرسال مستند إليك بالبريد الإلكتروني حتى تتمكن من تقديم أفضل النصائح لي حول كيفية تنفيذ التعليمات البرمجية لـ VBA بحيث لا يمكن حفظ الملف إذا لم يتم ملء كل صف بشكل كامل؟ منجم معقد بعض الشيء. سوف نقدر المساعدة ، كنت تحاول لفترة طويلة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، إليك رمز ، سيظهر مربع حوار لتذكير المستخدم بالخلية التي يجب إدخالها ، ولا يمكن إغلاق المصنف وحفظه حتى تمتلئ جميع الخلايا الموجودة في النطاق a1: c3 بالمحتويات.
يرجى تعديل البرنامج النصي في الكود:
1. قم بتغيير النطاق حسب حاجتك ،
2. قم بتغيير اسم المستخدم "Kutools for Excel" في الكود إلى اسم المستخدم الخاص بك (يرجى التأكد من أن المستخدم الآخر ليس لديه نفس اسم المستخدم معك)

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    
    If Application.UserName <> "Kutools for Excel" Then

        Set Rg = Sheets("Sheet2").Range("a1:c3")

        If WorksheetFunction.CountBlank(Rg) > 0 Then

            MsgBox Rg.Parent.Name & " " & Rg.Address & " requires user input", vbInformation, "Kutools for Excel"
            Cancel = True
        End If
    End If

End Sub
تم تصغير هذا التعليق بواسطة المشرف على الموقع
آسف يا سيدي،

بالنسبة لشخص يستخدم VBA لأول مرة ، هل يمكنك تقديم بعض الإرشادات حول كيفية بدء ذلك؟ أريد أن يكون لكل صف نفس الميزة IE (حتى يكمل واحد كل المعلومات الموجودة في الصف)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا PM ، ما عليك سوى اتباع الخطوات الواردة في هذه المقالة ، ثم استبدال الكود بالرمز الذي قدمته لك ، ثم حفظه. وعندما تشارك المصنف مع آخرين يختلف اسم المستخدم معك ، سيُطلب منهم ملء كل خلية في النطاق (a1: c3 ، يمكنك تغييره في الكود) حتى يملأوا الكل.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكراً جزيلاً لكم ، اعتذاري لم يرد.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف أفعل ذلك إذا كنت أرغب في التقديم على المصنف بأكمله باستثناء بضعة أعمدة. لدي أعمدة A: AA ولديها حاليًا 4,527 صفًا ولكن سيتم إضافة المزيد وسأحتاج إلى التأكد من أن الصفوف الجديدة لها نفس المتطلبات. أحتاج إلى جميع الحقول المطلوب باستثناء ما يلي.

• أرتميس (العمود أ)
• موقع وصول المضيف (العمود H)
• أداة الإنشاء (Synthesia) (العمود R)
• مصطلحات البحث (العمود U)
• ملاحظات (العمود الخامس)
• eReview SME (العمود Z)
• المواهب الصوتية (العمود AA)

هل يمكنك مساعدتي في كيفية إعداد هذا وتضمين أي صفوف مستقبلية مضافة؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف أفعل ذلك إذا كنت أرغب في التقديم على المصنف بأكمله باستثناء بضعة أعمدة. لدي أعمدة A: AA ولديها حاليًا 4,527 صفًا ولكن سيتم إضافة المزيد وسأحتاج إلى التأكد من أن الصفوف الجديدة لها نفس المتطلبات. أحتاج إلى جميع الحقول المطلوب باستثناء ما يلي.

• أرتميس (العمود أ)
• موقع وصول المضيف (العمود H)
• أداة الإنشاء (Synthesia) (العمود R)
• مصطلحات البحث (العمود U)
• ملاحظات (العمود الخامس)
• eReview SME (العمود Z)
• المواهب الصوتية (العمود AA)

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

تواصل معنا

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