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

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

قام بنشر

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

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

اريد ربط خلية 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
قام بنشر

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

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

  • 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

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.

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

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

Important Information