اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

أساتذتي الأجلاء الكرام 

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

ارجو المساعدة لتعديل كود جمع قيمة الادخال للخلية إلى قيمتها السابقة قبل الادخال  

وجزاكم الله خيرا  
 

مرفق ملف للتوضيح  

 

جمع الخلية لنفسها.xlsm

قام بنشر

استاذي الجليل أبو عيد  
الكود يعمل مية المية ولكن عندما حاولت توسيع نطاق الخلايا ليشمل (A1:P40) 

وايضا لو تكرمت أريد ربط عمل الكود بزر خيار  أن كان مفعل يعمل وان لم يكن مفعل لا يعمل  

جمع الخلية2.xlsm

قام بنشر

الاساتذة الاجلاء  بالاستعانة بكود الاستاذ أبو عيد مع الذكاء الاصطناعي  تحصلت على الكود التالي  ولكن احيانا لا يعمل  الكود وايضا قد استعان الذكاء الاصطناعي باعمدة أخرى مماثلة لعدد الاعمدة المستهدفة   

ارجو لو امكن اختصار الكود  وجعله مثل كود استاذنا ابو عيد     فالذكاء البشرى أوعى وأفهم من الاصطناعي   وجزاكم الله خيرا 

‏‏جمع الخلية3.xlsm

قام بنشر

لا أدري ما تقصد

فتحت ملفك ووجدت خلايا بالأزرق وخلايا بالأحمر

الكود يعمل في الأزرق ولا يعمل في الأحمر

أرجو التوضيح أكثر

قام بنشر

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

جرب هل هدا ما تقصده 

ScreenRecorderProject2.gif.a851106f8eadf78c21808b4627d853eb.gif

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

  • Thanks 1
قام بنشر

مساء الخير  استاذ أبو عيد

المطلوب اساسا ان يعمل الكود على الخلايا باللون الازرق   A1:P40    

ولكن الذكاء الاصطناعي لم يستطع تخزين قيم الخلايا قبل الادخال إلا في خلايا موازيه   Q1:AF40  

والكود يعمل بصورة صحيحة في حالة  CheckBox1   مفعل  حيث تقوم الخلية الموازية بتخزين القيمة السابقة 

أما في حالة ازالة التفعيل من  CheckBox1   فان الخلايا الموازية تكون محتفظة بالقيمة القديمة ولا تتغير مع اي ادخال في الخلايا المستهدفة وهكذا عندما تعود لتفعيل  CheckBox1  يحدث خطأ كبير حيث يتم جمع القيمة المدخلة للخلية مع قيمة الخلية الموازية القديمة جدا  حيث لم يقوم بتحديث القيم بعد ازالة تفعيل CheckBox1   

 

ارجو لو امكن تلافي هذا الخلل بجعل قيم الخلايا الموازية تتحدث في حالة تفعيل أو عدم تفعيل CheckBox1   

او الافضل من ذلك لو  كود حضرتك الاول يستطيع ان يشمل النطاق المطلوب مع زر CheckBox1

 

أكون ممنون وشاكر  وفقك الله لكل خير  

قام بنشر

بالتأكيد هذا هو المطلوب بالضبط   ...    وبدون خلايا مساعدة   راااااااااائع   

بارك الله فيك أستاذ محمد هشام  ونفع بك العباد والبلاد من مشرقها الى مغربها  

  • Thanks 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   1 عضو متواجد الان

×
×
  • اضف...

Important Information