محمد طاهر عرفه قام بنشر يونيو 23, 2003 قام بنشر يونيو 23, 2003 اذا كانت الخلية خالية فسيتم تغيير القيمة الي أوفيسنا و اذا كان بها قيمة لن يحدث شيء عند التغيير Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Range("a1").Value = "" Then Range("a1").Value = "Officena" End If End Sub DefaultCellVal.zip
محمد طاهر عرفه قام بنشر يونيو 23, 2003 الكاتب قام بنشر يونيو 23, 2003 لكتابة الكود بطريقة أخري فى الجزء الخاص بأكواد ورقة العمل و هنا يتم التحكم فى خلية فى الشيت الاول ملاحظة : لا ستخدام me مع workbook يجب تعريف الشيت Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) With Me.Sheets("sheet1").Range("a1") If .Value = "" Then .Value = "Officena" End If End With End Sub و للتعامل مع الشيت و ليس مجلد العمل - من مشاركة للأخ امير فى موضوع آخر بتصرف و هنا يتم التعامل مع الشيت الثاني ، و يتم كتابة الكود فى الجزء الخاص باكواد الشيت الثاني Private Sub Worksheet_Change(ByVal Target As Range) With Me.Range("a1") If .Value = "" Then .Value = "Officena" End If End With End Sub
محمد طاهر عرفه قام بنشر يونيو 23, 2003 الكاتب قام بنشر يونيو 23, 2003 المثال الثاني DefaultCellVal2.zip
محمد طاهر عرفه قام بنشر يوليو 6, 2003 الكاتب قام بنشر يوليو 6, 2003 فى سؤال عن كيفية عمل ذلك لعمود كامل ؟؟ أجاب الأخ أمير مشكورا بالكود التالي Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Variant For Each c In Worksheets("Sheet1").Range("a:a") If c.Value = "" Then c.Value = "Officena" Exit For End If Next c End Sub و المثال المرفق يحوي الثلاث حالات : خلية و عمود و مجموعة خلايا محددة ( مجال ) كل منها فى ورقة عمل منفصلة ملاحظة : تم تعديل المثال و اضافة الطريقة الرابعة فى المشاركة القادمة اليه
محمد طاهر عرفه قام بنشر سبتمبر 29, 2003 الكاتب قام بنشر سبتمبر 29, 2003 تم اضافة كود القيمة الافتراضية لعمود بطريقة أخري و تم تطبيقه علي أول 3 أعمدة Private Sub Worksheet_Change(ByVal Target As Range) Dim c If Target.Column = 1 Then c = Range("a" & Target.Row).Value If c = "" Then Range("a" & Target.Row).Value = "officena-1" ElseIf Target.Column = 2 Then c = Range("b" & Target.Row).Value If c = "" Then Range("b" & Target.Row).Value = "officena-2" ElseIf Target.Column = 3 Then c = Range("c" & Target.Row).Value If c = "" Then Range("c" & Target.Row).Value = "officena-3" End If End Sub و هذا موجود فى الشيت الرابع Cols DefaultCellVa4.rar
الردود الموصى بها