barakato قام بنشر سبتمبر 10, 2012 قام بنشر سبتمبر 10, 2012 السلام عليكم لدي مشكله ...و ارجو المساعده ضروري جداا .. انا بستخدم الكود دا Sub axsion6() Dim cl As Range If [g1] = " " Then Exit Sub For Each cl In Range("d3:d" & [d1000].End(xlUp).Row) If cl.Value = "م.باطن" Then cl.Offset(0, -3).Resize(1, 5).Copy Sheets("Sheet3").Range("a" & Sheets("Sheet3").[A1000].End(xlUp).Row + 1) End If Next End Sub لكن لما ادوس علي زر ترحيل مرتين بيعمل نسختين و دا انا مش عوزه انا عاوز لما ادوس زر ترحيلمرتين او اكثر يرحل كله من جديد علشان لو في مدخلات جديده.... ارجو الاهتمام وشكرا..
الـعيدروس قام بنشر سبتمبر 10, 2012 قام بنشر سبتمبر 10, 2012 ضيف هذا السطر في اول الكود مع تحديد المدى واسم الورقة الصحيح Sheets("Sheet3").[A2:A1000].ClearContents
barakato قام بنشر سبتمبر 10, 2012 الكاتب قام بنشر سبتمبر 10, 2012 متشكر للافاده بس احطه قبل if ولا بعدها و بعدين دا هيعمل للشيت الاصلي و لا لشيت الترحيل
الـعيدروس قام بنشر سبتمبر 10, 2012 قام بنشر سبتمبر 10, 2012 (معدل) قبل الشرط يقوم بحذف البيانات الموجودة قبل الترحيل والورقة اذا لم تكن المعنيه غير الاسم من الكود الى اسم الورقة المراده Sheets("Sheet3") تم تعديل سبتمبر 10, 2012 بواسطه عباد
barakato قام بنشر سبتمبر 10, 2012 الكاتب قام بنشر سبتمبر 10, 2012 بس يا ريت تكتبلي الكود كامل علشان انا لما كتبته بقا بيرحل اخر صف بس متشكر لاهتمامك
barakato قام بنشر سبتمبر 11, 2012 الكاتب قام بنشر سبتمبر 11, 2012 متشكر جدا لقد تم حل المشكله الاول لكن واجهتني مشكله تانيه cl.Offset(0, -3).Resize(1, 5).Copy Sheets("Sheet3").Range("a" & Sheets("Sheet3").[A1000].End(xlUp).Row + 1) Offset+Resize الدالتين دول عاوز احدد اعمده محدده في الترحيل هل ممكن مش عاوز ارحل كل السطر
أبو حنــــين قام بنشر سبتمبر 12, 2012 قام بنشر سبتمبر 12, 2012 على افتراض ان العملية تبدأ من العمود D الذي يحتوي على الشرط المبين في الكود التالي : For Each cl In Range("d3:d" & [d1000].End(xlUp).Row) If cl.Value = "م.باطن" Then[/size][/b][/font] [font=times new roman,times,serif][b][size=5] عندما نقوم بكتابة الجملة : cl.Offset(0, -3).Resize(1, 5).Copy و كأننا قلنا للبرنامج : cl.Offset(0,-3) اي ارجع بثلاث اعمدة ابتداءا من العمود D بمعنى الرجوع للعمود A لو نجعل مكان -3 العدد -2 سيعود بعمودين للوراء اي عند العمود B و هكذا Resize(1,5) اي قم بنسخ خمسة اعمدة ابتذاءا من اعمود A فيقوم بنسخ الاعمدة A , B , C , D , E لو نضع مكان 5 العدد 4 سيتوقف عند D و لا يتسخ اعمود E و هكذا
barakato قام بنشر سبتمبر 12, 2012 الكاتب قام بنشر سبتمبر 12, 2012 على افتراض ان العملية تبدأ من العمود D الذي يحتوي على الشرط المبين في الكود التالي : For Each cl In Range("d3:d" & [d1000].End(xlUp).Row) If cl.Value = "م.باطن" Then[/size][/b][/font] [font=times new roman,times,serif][b][size=5] عندما نقوم بكتابة الجملة : cl.Offset(0, -3).Resize(1, 5).Copy و كأننا قلنا للبرنامج : cl.Offset(0,-3) اي ارجع بثلاث اعمدة ابتداءا من العمود D بمعنى الرجوع للعمود A لو نجعل مكان -3 العدد -2 سيعود بعمودين للوراء اي عند العمود B و هكذا Resize(1,5) اي قم بنسخ خمسة اعمدة ابتذاءا من اعمود A فيقوم بنسخ الاعمدة A , B , C , D , E لو نضع مكان 5 العدد 4 سيتوقف عند D و لا يتسخ اعمود E و هكذا تمام انا معاك بس انا عاوز اخد مثلا لو بدانا من D اخد بعدها C وA و مش عاوز ارحل B
الـعيدروس قام بنشر سبتمبر 12, 2012 قام بنشر سبتمبر 12, 2012 (معدل) السلام عليكم بيكون هكذا Option Explicit Public Sub Ali() Dim X% Dim R As Range Dim Rt As Range X = Cells(Rows.Count, 1).End(xlUp).Row Set R = Union(Range("A2:A" & X), Range("C2:D" & X)) With Sheets("Sheet3") For Each Rt In R If Rt.Value = "م.باطن" Then Rt.Copy .Range("A" & Sheets("Sheet3").[A1000].End(xlUp).Row + 1) End If Next End With End Sub تم تعديل سبتمبر 12, 2012 بواسطه عباد
أبو حنــــين قام بنشر سبتمبر 12, 2012 قام بنشر سبتمبر 12, 2012 قطعت جهيزة قول كل خطيب لقد قام ابو نصار باللازم جزاه الله خيرا و حفظ له نصار
barakato قام بنشر سبتمبر 16, 2012 الكاتب قام بنشر سبتمبر 16, 2012 مشكورين بس عندي حاجه انا بعد مكتبت اكوادي و تمام قفلت و فتح الملف لاقيت ان الماكروز مقفوله و لما بفتحا مش بيتمعلها إنيبل و الدزين مود شغال علي طول مش عارف اعمل ايه
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.