ابو ياسر2 قام بنشر مارس 1, 2014 قام بنشر مارس 1, 2014 اخواني السلام عليكم ورحمة الله وبركاتة اتمنا مساعدتي في تعديل كود حتي يعمل بشكل تلقائي من اول ما افتح الاكسل كود نسخة ولصق من خلية الي خلية الي بعدة كلما تغيرت الخلية A اكبر من 1000 هذا الكود ويعمل بشكل سليم لكن مشكلتة يعمل فقط عندما اكتب في الخلية يدوي و انقر علي زر الانتر في لوحة المفاتيح و انا احتاج يعمل تلقائي او بمجرد ما افتح الاكسل Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ws_exit Application.EnableEvents = False If Not Intersect(Target, Me.Columns(1)) Is Nothing Then If Target.Value > 1000 Then Me.Cells(Target.Row, Me.Columns.Count).End(xlToLeft).Offset(0, 1).Value = Target.Value End If End If ws_exit: Application.EnableEvents = True End Sub حاولت اعدل حتي يعمل تلقائي بكتابة هذا الكود Private Sub Worksheet_Calculate() Dim c As Range Application.EnableEvents = False If Not Intersect(Target, Me.Columns(1)) Is Nothing Then If Target.Value > 1000 Then Me.Cells(Target.Row, Me.Columns.Count).End(xlToLeft).Offset(0, 1).Value = Target.Value End If End If ws_exit: Application.EnableEvents = True End Sub لكن تظهر لي رسالة خطاء اتمنا مساعدتي
عبدالله باقشير قام بنشر مارس 2, 2014 قام بنشر مارس 2, 2014 الكود الاول يعمل عند تغيير الخلية النشطة من العمود الاول If Not Intersect(Target, Me.Columns(1)) Is Nothing Then اما الكود الثاني يعمل عند اعادة حساب الورقة والمتغير Target مش موجود في هذا الحدث اكيد حيظهر خطأ غير Target الى ActiveCell او استخدم هذا الحدث قد يناسبك Private Sub Worksheet_SelectionChange(ByVal Target As Range رغم اني افضل في مثل حالتك الكود الاول في مشاركتك في امان الله
ابو ياسر2 قام بنشر مارس 3, 2014 الكاتب قام بنشر مارس 3, 2014 الكود الاول يعمل عند تغيير الخلية النشطة من العمود الاول If Not Intersect(Target, Me.Columns(1)) Is Nothing Then اما الكود الثاني يعمل عند اعادة حساب الورقة والمتغير Target مش موجود في هذا الحدث اكيد حيظهر خطأ غير Target الى ActiveCell او استخدم هذا الحدث قد يناسبك Private Sub Worksheet_SelectionChange(ByVal Target As Range رغم اني افضل في مثل حالتك الكود الاول في مشاركتك في امان الله هل من الممكن مساعدتي في هذا الملف عندما اغير في Sheet 2 اكبر من 1000 في العمود A يعمل الكود في Sheet1 مشكلة الكود انة عندما اغير الخلية في الورقة رقم 2 لا يعمل في الورقة رقم 1 ويقوم بالنسخ و الصق في العمود الي بجانبة فقط يعمل عندما اكتب يدوي و انقر علي انتر في لوحة المفاتيح في نفس الورقة 1 copy and paste2.rar
عبدالله باقشير قام بنشر مارس 3, 2014 قام بنشر مارس 3, 2014 السلام عليكم حسب ما فهمت من طلبك استبدل هذا الكود بالكود الموجود في Sheet1 Private Sub Worksheet_Calculate() Dim Lr As Long, r As Long Dim v As Double On Error GoTo ws_exit Lr = Cells(Rows.Count, "a").End(xlUp).Row For r = 1 To Lr v = Val(Cells(r, "A")) If v > 1000 Then Me.Cells(r, Me.Columns.Count).End(xlToLeft).Offset(0, 1).Value = v End If Next ws_exit: End Sub تحياتي
ابو ياسر2 قام بنشر مارس 4, 2014 الكاتب قام بنشر مارس 4, 2014 الف شكر اخي العزيز علي مساعدتك اشتغل المرفق لكن فية مشكلة وهي لو تغيرة اكبر من 1000 مثلا رقم 1 راح ينسخ ويلصق في الخلية المجاورة كذا تمام لكن لو مثلا غيرت الخلية رقم 2 اكبر من 1000 راح ينسخ ويلصق الخلية المجاورة و ايضاء يكرر مرة اخري النسخ و الصق في الخلية 1 مشكلتة الان التكرر في الخلية السابقة عند تغير خلية اخري اكبر من 1000 اتمنا تساعدني وتحل المشكلة
عبدالله باقشير قام بنشر مارس 6, 2014 قام بنشر مارس 6, 2014 الف شكر اخي العزيز علي مساعدتك اشتغل المرفق لكن فية مشكلة وهي لو تغيرة اكبر من 1000 مثلا رقم 1 راح ينسخ ويلصق في الخلية المجاورة كذا تمام لكن لو مثلا غيرت الخلية رقم 2 اكبر من 1000 راح ينسخ ويلصق الخلية المجاورة و ايضاء يكرر مرة اخري النسخ و الصق في الخلية 1 مشكلتة الان التكرر في الخلية السابقة عند تغير خلية اخري اكبر من 1000 اتمنا تساعدني وتحل المشكلة استبدل هذا الكود Private Sub Worksheet_Calculate() Dim Lr As Long, r As Long Dim v As Double On Error GoTo ws_exit Lr = Cells(Rows.Count, "a").End(xlUp).Row For r = 1 To Lr v = Val(Cells(r, "A")) If v > 1000 Then With Me.Cells(r, Me.Columns.Count).End(xlToLeft) If .Column = 1 Then .Offset(0, 1).Value = v Else If v <> Val(.Value) Then .Offset(0, 1).Value = v End If End With End If Next ws_exit: End Sub مع العلم ان التكرار سيحدث فقط في العمود B تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.