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

ارتباط قائمة


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

السادة الخبراء

مرفق ملف به ثلاث شيتات زى بعض

اريد ربط خلية B4 فى جميع الشيتات اذا غيرت فى اى شيت يتغير فى الكل مثال ( اذا غيرت فى قيمة شيت 3 تتغير القيمة فى شيت 1 - 2 )

برجاء الافادة عن امكانية تنفيذ ذلك

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

Book1.rar

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

أخي الحبيب رجب جاويش

بارك الله فيك وجزتي خيراً على حلولك الجميلة

مجرد سؤال : لما قمت بكتابة أكواد في حدث كل ورقة عمل على حدا ..

ما رأيك بإزالة كل الأكواد في حدث كل أوراق العمل ووضع الكود التالي في حدث المصنف

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Address = [B4].Address Then
        Application.EnableEvents = False
            Sheets("1").[B4] = Target.Value
            Sheets("2").[B4] = Target.Value
            Sheets("3").[B4] = Target.Value
        Application.EnableEvents = True
    End If
End Sub

تقبل وافر تقديري واحترامي

 

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

ليس من عدل كمن أبدع أخي الغالي رجب جاويش

فأنت صاحب الكود وكل ما فعلته أنني اختصرت المسافة .. يعني بدل ما آخد أتوبيس أخدت توك توك (وكل السبل تؤدي إلى بلشاي)

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

أخي الحبيب رجب جاويش وهذا الكود هدية مني

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Address = [B4].Address Then
        Application.EnableEvents = False
            Dim vSheet
            For Each vSheet In Array("Sheet1", "Sheet2", "Sheet3")
                Sheets(vSheet).Range("B4").Value2 = Target.Value
            Next vSheet
        Application.EnableEvents = True
    End If
End Sub

تقبل تحياتي

 

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

في ٥‏/٣‏/٢٠١٦ at 15:38, ياسر خليل أبو البراء said:

أخي الحبيب رجب جاويش

بارك الله فيك وجزتي خيراً على حلولك الجميلة

مجرد سؤال : لما قمت بكتابة أكواد في حدث كل ورقة عمل على حدا ..

ما رأيك بإزالة كل الأكواد في حدث كل أوراق العمل ووضع الكود التالي في حدث المصنف


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Address = [B4].Address Then
        Application.EnableEvents = False
            Sheets("1").[B4] = Target.Value
            Sheets("2").[B4] = Target.Value
            Sheets("3").[B4] = Target.Value
        Application.EnableEvents = True
    End If
End Sub

تقبل وافر تقديري واحترامي

 

اخى رجب وابوالبراء جزاكم الله كل خير

ابوالبراء اذا سمحت ممكن شرح للكود وبالذات اول سطر بريفيت

انا دخلت على المحرر واخترت حدث عند التغيير لاقيته كتبه لواحده بس محتاج شرح

هل byval مثل dim

اللى فهمته انه حدد متغير تارجت للنطاق و

تم استخدام متغير sh اوبجيكت ؟ لماذا

السطر 2 بيقول لو النطاق وعنوانه = الخليه 4 إذا نفذ الاتى

اعذرنى على اسئلتى ولكن لجهلى واريد ان افهم حتى اتعلم وارجو ان يتسع صدركم لى

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

 

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

أخي الكريم أحمد

الكود يوضع في حدث المصنف وليس في حدث ورقة العمل .. وتتأثر اوراق العمل باالتغير بسبب الكود في الخلية B4

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

اللي هو إن الخلية B4 في ورقة العمل الأولى والتانية والتالتة تساوي التغير اللي حصل في أي ورقة عمل في نفس العنوان أي في نفس الخلية

أعتقد الكود واضح وبسيط

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

منذ ساعه, أحمد الفلاحجى said:

هل byval مثل dim

اللى فهمته انه حدد متغير تارجت للنطاق و

تم استخدام متغير sh اوبجيكت ؟ لماذا

السطر 2 بيقول لو النطاق وعنوانه = الخليه 4 إذا نفذ الاتى

اعذرنى على اسئلتى ولكن لجهلى واريد ان افهم حتى اتعلم وارجو ان يتسع صدركم لى

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

اخى ياسر اللى اقصده السطر التالى وما يحتويه داخل القوس

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

بمعنى انا فهمت تارجت والنطاق بتاعها ب 4

اوبجيكت دى محتاجه توضيح شويه لانى لم ارها بداخل الكود فلم اعرف ماذا تعنى

جزاك الله كل خير يا ابوالبراء

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

السطر دا مش إنت اللي بتكتبه .. إنت بتكتب ما بين السطرين ..إنت لما تختار الحدث في المصنف اللي اسمه SheetChange بيظهر السطر ده وقفلة الكود

معنى Sh الإشارة لورقة عمل ..أي ورقة عمل داخل المصنف .. وتارجت اللي هو النطاق

أرجو أن تكون الأمور واضحة

تقبل تحياتي

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

تسلم ياابوالبراء وجزاك الله كل خير اخى ياسر

ايوه منا عرفت ان مش انا اللى بكتبه ده بينكتب لواحده لما بختار الحدث اللى هشتغل عليه ولكن حبيت افهم هو بيقصد ايه مبقاش زى الاطرش

طيب استحمل غلاستى يا ابوالبراء كلمة byval دى زى dim ولا دى ايه وهل احنا بنستخدمها ولا دى مخصصه ضمن الاعدادات للاوفيس بس

معلهش لو طولت عليك فى حاجات بسيطه بس علشان اتعلم واحده واحده واحاول افصص الكود وافهم

 

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

بص موضوع الـ ByVal موضوع محتاج وقت ...

خد الكود دا فيه شرح وفيه الفرق بين ByVal و ByRef

'a. Formal Parameter - a variable passed to a Sub or Function (e.g. i, iRow, and sData are formal parameters).
'b. ByRef (default) means the Sub or Function is allowed to modify the value of a formal parameter and pass the _
modified value back to the calling routine.
'c. ByVal means means the Sub or Function is allowed to modify the value of a formal parameter (in some languages _
this causes a compile error), but the value that the calling routine sees is the ORIGINAL value.
'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Sub IncrementCounter(ByRef I As Long)
    I = I + 1
End Sub

Sub OuputValueToColumnA(ByVal iRow As Long, ByVal sData As String)
    Cells(iRow, "A").Value = sData
    iRow = iRow + 1                    'NOTE: Modification of a ByVal formal parameter is allowed inside the routine, but is poor programming practice
    Cells(iRow, "A").Value = sData
End Sub

Sub ImprovedOuputValueToColumnA(ByVal iInputRow As Long, ByVal sData As String)
    Dim iRow As Long
    iRow = iInputRow                   'Make a local copy of the input value
    Cells(iRow, "A").Value = sData
    iRow = iRow + 1                    'NOTE: Modification of a ByVal formal parameter is allowed inside the routine, but is poor programming practice
    Cells(iRow, "A").Value = sData
End Sub

Sub ByRefAndByVal()
    Dim iRow As Long
    Dim sMessage As String
    
    sMessage = "Hello World."
    iRow = 11
    
    Debug.Print "iRow = " & iRow 'Output to Immediate Window (CTRL G in debugger)
    
    Call IncrementCounter(iRow)
    Debug.Print "iRow = " & iRow '12 expected
    
    iRow = 21
    Debug.Print "iRow = " & iRow 'Output to Immediate Window (CTRL G in debugger)
    
    Call OuputValueToColumnA(iRow, sMessage)
    Debug.Print "iRow = " & iRow '21 expected
    
    Call ImprovedOuputValueToColumnA(iRow, sMessage)
    Debug.Print "iRow = " & iRow '21 expected
End Sub

تقبل تحياتي

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

مالك ياعم ياسر انت فتحت الباب على وسعه كده ليه مره واحده ههههههههههههههههههههه

كده انا روحت منك خالص ياعم بالراحه عليا

هحاول افهم اى حاجه لغاية ما اكمل فتح الباب بالراحه بعد مافسخته ههههههههههههههههههههههه

ربنا المعين

جزاك الله كل خير يا ابوالبراء

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

أخي الحبيب أحمد

إنت اللي طلبت تعرف ومستعجل على التعلم ودي النتيجة ..خليك زي حالاتي واحدة واحدة أنا مش بحب الاستعجال ..وأديك شفت نتيجة الاستعجال بنفسك

 

أخي الغالي رجب

سلمت من كل سوء .. وأعتذر إذا كنت أتدخل في الحلول المقدمة ، ولكن يعلم الله أنني لا أريد إلا المصلحة العامة

تقبلوا وافر تقديري واحترامي

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

أخى الحبيب / ياسر

الاعتذار هنا فى غير محله

منتدى أوفيسنا هو جامعة بالنسبة لنا نتعلم من بعضنا البعض

ونقاشنا معا فى الحلول المقدمة يثرى الموضوع ويفيد الجميع وأنا أولهم

أتمنى أن يستمر النقاش فى كل المواضيع حتى يعم النفع على الجميع

تقبل تحياتى ودعوتى للتدخل فى كل الحلول حتى نتعلم من ابداعاتك أخى الحبيب

 

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

أخي الغالي رجب

وجب الاعتذار لأنك أنت المعلم في المقام الأول وليس على المتعلم أن يتعدى على معلمه ..

وأشكرك على كلماتك الطيبة وثقتك الكبيرة .. جمعني الله وإياك في مستقر رحمته يوم القيامة

تقبل تحياتي

 

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

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

جعلكم الله عونا لاخوانكم ويسر بكم كل عسير ويسر لكم كل امر يهمكم ويشغلكم وجزاكم الله عنا خير الجزاء

تقبلوا منى فائق الاحترام والتقدير

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

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

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



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information