خالد القدس2 قام بنشر مارس 6 قام بنشر مارس 6 أساتذتي الأجلاء الكرام السلام عليكم ورحمة الله ارجو المساعدة لتعديل كود جمع قيمة الادخال للخلية إلى قيمتها السابقة قبل الادخال وجزاكم الله خيرا مرفق ملف للتوضيح جمع الخلية لنفسها.xlsm
خالد القدس2 قام بنشر مارس 6 الكاتب قام بنشر مارس 6 سلمت يداك في الدنيا والاخرة وسلمت يمين العزة والنصرة
خالد القدس2 قام بنشر مارس 6 الكاتب قام بنشر مارس 6 استاذي الجليل أبو عيد الكود يعمل مية المية ولكن عندما حاولت توسيع نطاق الخلايا ليشمل (A1:P40) وايضا لو تكرمت أريد ربط عمل الكود بزر خيار أن كان مفعل يعمل وان لم يكن مفعل لا يعمل جمع الخلية2.xlsm
خالد القدس2 قام بنشر مارس 6 الكاتب قام بنشر مارس 6 الاساتذة الاجلاء بالاستعانة بكود الاستاذ أبو عيد مع الذكاء الاصطناعي تحصلت على الكود التالي ولكن احيانا لا يعمل الكود وايضا قد استعان الذكاء الاصطناعي باعمدة أخرى مماثلة لعدد الاعمدة المستهدفة ارجو لو امكن اختصار الكود وجعله مثل كود استاذنا ابو عيد فالذكاء البشرى أوعى وأفهم من الاصطناعي وجزاكم الله خيرا جمع الخلية3.xlsm
أبوعيد قام بنشر مارس 6 قام بنشر مارس 6 لا أدري ما تقصد فتحت ملفك ووجدت خلايا بالأزرق وخلايا بالأحمر الكود يعمل في الأزرق ولا يعمل في الأحمر أرجو التوضيح أكثر 1
تمت الإجابة محمد هشام. قام بنشر مارس 6 تمت الإجابة قام بنشر مارس 6 وعليكم السلام ورحمة الله تعالى وبركاته جرب هل هدا ما تقصده Option Explicit Dim tmps As Object, cell As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error GoTo ClearApp If Target Is Nothing Then Exit Sub With Me.Shapes("CheckBox1").ControlFormat If .Value = xlOff Then Exit Sub End With If tmps Is Nothing Then Set tmps = CreateObject("Scripting.Dictionary") If Target.Cells.Count > 1 Then Exit Sub For Each cell In Target If Not Intersect(cell, Me.Range("A1:P40")) Is Nothing Then tmps(cell.Address) = cell.Value Next cell ExitHandler: Exit Sub ClearApp: Set tmps = Nothing Resume ExitHandler End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ClearApp If Target Is Nothing Or tmps Is Nothing Then Exit Sub With Me.Shapes("CheckBox1").ControlFormat If .Value = xlOff Then Exit Sub End With If Target.Cells.Count > 1 Then Exit Sub Application.EnableEvents = False For Each cell In Target If Not Intersect(cell, Me.Range("A1:P40")) Is Nothing And tmps.exists(cell.Address) Then If IsNumeric(cell.Value) Then cell.Value = tmps(cell.Address) + cell.Value Else MsgBox cell.Address & " : " & "تم إدخال قيمة غير صالحة في الخلية ", vbExclamation End If End If Next cell ExitHandler: Application.EnableEvents = True Exit Sub ClearApp: Resume ExitHandler End Sub جمع الخلية v3.xlsb 4 1
خالد القدس2 قام بنشر مارس 6 الكاتب قام بنشر مارس 6 مساء الخير استاذ أبو عيد المطلوب اساسا ان يعمل الكود على الخلايا باللون الازرق A1:P40 ولكن الذكاء الاصطناعي لم يستطع تخزين قيم الخلايا قبل الادخال إلا في خلايا موازيه Q1:AF40 والكود يعمل بصورة صحيحة في حالة CheckBox1 مفعل حيث تقوم الخلية الموازية بتخزين القيمة السابقة أما في حالة ازالة التفعيل من CheckBox1 فان الخلايا الموازية تكون محتفظة بالقيمة القديمة ولا تتغير مع اي ادخال في الخلايا المستهدفة وهكذا عندما تعود لتفعيل CheckBox1 يحدث خطأ كبير حيث يتم جمع القيمة المدخلة للخلية مع قيمة الخلية الموازية القديمة جدا حيث لم يقوم بتحديث القيم بعد ازالة تفعيل CheckBox1 ارجو لو امكن تلافي هذا الخلل بجعل قيم الخلايا الموازية تتحدث في حالة تفعيل أو عدم تفعيل CheckBox1 او الافضل من ذلك لو كود حضرتك الاول يستطيع ان يشمل النطاق المطلوب مع زر CheckBox1 أكون ممنون وشاكر وفقك الله لكل خير
خالد القدس2 قام بنشر مارس 6 الكاتب قام بنشر مارس 6 بالتأكيد هذا هو المطلوب بالضبط ... وبدون خلايا مساعدة راااااااااائع بارك الله فيك أستاذ محمد هشام ونفع بك العباد والبلاد من مشرقها الى مغربها 1
خالد القدس2 قام بنشر مارس 6 الكاتب قام بنشر مارس 6 كود ابداعي فاخر من الاخر فاق الذكاء الاصطناعي بمراحل ما لقيت فيهو أي ثغرة ما شاء الله تبارك الله ألف شكر استاذي محمد هشام وجزاك الله خيرا
الردود الموصى بها