اذهب الي المحتوي
أوفيسنا

كود يقوم بكتابة اسم معين اسفل اخر خليه مستعمله


الردود الموصى بها

أتمني أخي ( إبراهيم ) أن يحقق المطلوب

وإن كنت أعلم مسبقا أنك سوف تفضل كود أستاذي ( أبو حنين ) لكني لم أراه إلا عند رفع مرفقي لما تأخذة المعادلة من تأكيد أنها تقوم بعملها علي أكمل وجه

كذلك قد يفضلها البعض من هواة المعادلات

كتابة كلمة الإجمالي.rar

كتابة كلمة الإجمالي 2.rar

كتابة كلمة الإجمالي 3.rar

تم تعديل بواسطه mahmoud-lee
رابط هذا التعليق
شارك

كما يمكن إجرا ذلك بدون زر و ذلك في حدث الورقة بالكود التالي


Private Sub Worksheet_Change(ByVal Target As Range)

Lr = Cells(Rows.Count, "B").End(xlUp).Row + 1

If Cells(Lr - 1, 2) = "إجمالي" Then

Exit Sub

Else

Cells(Lr, 2) = "أجمالي"

End If

End Sub

رابط هذا التعليق
شارك

الاخ ابو حنين

هل يمكن وقف عمل الكود

اذا كانت اخر خليه تحتوى

على اسم الاجمالى

وبذك نتفادى تكرار كتابة الاجمالى فى كل مره يتم الضغط فيها على الزر

رابط هذا التعليق
شارك

اعتقد أن الكود في المشاركة رقم 4 كان يحتوي على خطأ و ذلك في الحرف إ بدل الحرف أ لكلمة إجمالي و قد صحح بالطريقة التالية دون الحاجة الى زر


Private Sub Worksheet_Selectionchange(ByVal Target As Range)

Lr = Cells(Rows.Count, "B").End(xlUp).Row + 1

If Target.Column = 2 Then

If Cells(Lr - 1, 2).Text = "إجمالي" Then

Cells(Lr, 2) = ""

Exit Sub

Else

Cells(Lr, 2) = "إجمالي"

Exit Sub

End If

End If

End Sub

رابط هذا التعليق
شارك

لا تضع زر فيكفي وضع الكود التالي في حدث الورفة كما يلي :


Private Sub Worksheet_Change(ByVal Target As Range)

Lr = Cells(Rows.Count, "B").End(xlUp).Row + 1

If Cells(Lr - 1, 2) = "إجمالي" Then

Cells(Lr - 1, 4) = WorksheetFunction.Sum(Range("D3:D" & Lr - 2))

Exit Sub

Else

Cells(Lr, 2) = "إجمالي"

Cells(Lr, 4) = WorksheetFunction.Sum(Range("D3:D" & Lr - 2))

End If

End Sub

رابط هذا التعليق
شارك

الاخ ابوحنين

فعلا الكود جميل ويعمل تمام

ولكن ماذا لو اردنا اظهار البيانات اسفل اخر خليه بخليتن

ولقد غيرت

Lr = Cells(Rows.Count, "B").End(xlUp).Row + 1

الى

Lr = Cells(Rows.Count, "B").End(xlUp).Row + 2

ولكن حدث خطأ

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

أخي الفاضل حفظك الله

أظن والله أعلم أن التغيير يتم في هذين السطرين.

أبو أنس


Cells(Lr + 1, 2) = ""

Cells(Lr + 1, 2) = "إجمالي"

رابط هذا التعليق
شارك

بعد إذن اخي ابو انس نستعمل الدالة Offset فيكون الكود كالتالي


Private Sub Worksheet_Change(ByVal Target As Range)

Lr = Cells(Rows.Count, "B").End(xlUp).Row + 1

If Cells(Lr - 1, 2) = "إجمالي" Then

Cells(Lr - 1, 4).Offset(2, 0) = WorksheetFunction.Sum(Range("D3:D" & Lr - 2))

Exit Sub

Else

Cells(Lr, 2) = "إجمالي"

Cells(Lr, 4).Offset(2, 0) = WorksheetFunction.Sum(Range("D3:D" & Lr - 2))

End If

End Sub

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
×
×
  • اضف...

Important Information