Skip to main content

كيفية منع الحفظ إذا كانت خلية محددة فارغة في Excel؟

Author: Kelly Last Modified: 2025-05-30

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


arrow blue right bubbleمنع الحفظ إذا كانت خلية محددة فارغة في Excel

لمنع حفظ المصنف الحالي إذا كانت الخلية المحددة فارغة في Excel، يمكنك بسهولة تطبيق ماكرو VBA التالي.

الخطوة 1: افتح نافذة Microsoft Visual Basic for Applications بالضغط على مفاتيح Alt + F11 في نفس الوقت.

الخطوة 2: في مستكشف المشروع، قم بتوسيع اللوحة VBAProject (اسم الملف الخاص بك.xlsm) وأدوات Microsoft Excel Objects، ثم انقر نقرًا مزدوجًا على ThisWorkbook. شاهد لقطة الشاشة:

A screenshot of the ThisWorkbook window in the VBA editor

الخطوة 3: في نافذة ThisWorkbook التي تم فتحها، الصق ماكرو VBA التالي:

ماكرو VBA: منع الحفظ إذا كانت الخلية المحددة فارغة

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Update by ExtendOffice 20220907
Dim xFileName As String
Dim xStr As String
Dim xStrWSH As String
Dim xWSh As Worksheet
Dim xWShs As Sheets
Dim xWSh1 As Worksheet
Dim xWB As Workbook

xStrWSH = "xHidWSH_LJY"
On Error Resume Next
Set xWB = Application.ActiveWorkbook
Set xWShs = xWB.Worksheets
Set xWSh = xWShs.Item(xStrWSH)

If xWSh Is Nothing Then

  Set xWSh1 = xWShs.Add
  xWSh1.Name = xStrWSH
  xWSh1.Visible = xlSheetVeryHidden
  Cancel = False

Else

  If Trim(Application.Sheets("Sheet1").Range("A1").Value) = "" Then
  Cancel = True
  MsgBox "Save cancelled"
  End If

End If

End Sub
ملاحظة:
1. في الصف 26 من كود VBA أعلاه، "Sheet1" هو اسم ورقة العمل المحددة، و "A1" هي الخلية المحددة، ويمكنك تغييرها حسب الحاجة.
2. بعد إدخال VBA في ThisWorkbook، يجب عليك حفظ المصنف أولاً. وبعد ذلك يمكنك إرسال الملف الذي يحتوي على الماكرو للآخرين.

الآن إذا كانت الخلية المحددة فارغة في المصنف الحالي، عند حفظه، ستظهر مربع تحذير ويبلغك بأن "الحفظ قد تم إلغاؤه". شاهد لقطة الشاشة التالية:

A screenshot of a warning dialog in Excel saying 'Save cancelled' when attempting to save with a blank cell


arrow blue right bubbleمقالات ذات صلة

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

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!