مختار حسين محمود قام بنشر نوفمبر 1, 2015 قام بنشر نوفمبر 1, 2015 (معدل) السلام عليكم ورحمة الله تعالى وبركاته مقدمة : لكى ننتقل من الخلية A1 مثلا الى آخر خلية بها بيانات فى نفس الصف الاول يكون بالطريقة الاتية : Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column).Select لكى ننتقل من الخلية A1 مثلا الى آخر خلية بها بيانات فى نفس العمود الاول يكون بالطريقة الاتية : Range("A" & Cells.Rows.Count).End(xlUp).Select ماذا لو كنا لا ندرى فى أى خلية نحن ...... اذن الانتقال سيكون من الخلية النشطة الى آخر خلية بها بيانات فى صفها أو عمود ها كيف نستخدم الخلية النشطة فى الوصول الى آخر خلية بها بيانات فى صفها أو عمود ها ؟ قبل الاجابة على السؤال نحاول نفهم الآتى : طبعا احنا عارفين أن اى خلية ليها صف وليها عمود ماشى لو عندنا الخلية النشطة هى $A$1 كيف نحصل على رقم الصف وكيف نحصل على اسم العمود من التركيبة $A$1 علامتى الدولار والحرف والرقم سنعتمد على الدالة MID وبنيتها كالتالى ( النص الذى سنستخرج منه + نقطة البداية + عدد الاحرف المطلوبة )( MID( text ; start position ; Number of characters وظيفتها استخلاص جزء من نص بداية من نقطة محددة فيه وعدد محدد من الحروف ضع النص $A$1 فى خلية ولتكن A1 نحصل على رقم الصف بالمعادلة =MID(A1; 4; 1048576) نحصل على اسم العمود بالمعادلة =MID(A1; 2; 1) المعادلة دى ستعطيك اسم العمود وهو A كيف نستفيد من ذلك فى الانتقال من الخلية النشطة الى آخر خلية بها بيانات فى صف أو عمود الخلية النشطة ؟ بسيطة : بص على سطر الكود الأول فيه الرقم 1 ومكرر مرتين ويمثل رقم الصف تعالى نشيل رقم الصف ونضع ما يساويه بالمعادلات Cells(Mid(ActiveCell.Address, 4, 1048576), Cells(Mid(ActiveCell.Address, 4, 1048576), Columns.Count).End(xlToLeft).Column).Select هذا السطر يستخدم فى الانتقال من الخلية النشطة الى آخر خلية بها بيانات فى نفس صف الخلية النشطة بص كمان على سطر الكود الثانى ستجد فيه "A" اسم العمود شيل اسم العمود وضع المعادلة التى هتطلع لنا اسم العمود Range(Mid(ActiveCell.Address, 2, 1) & Cells.Rows.Count).End(xlUp).Select هذا السطر يستخدم فى الانتقال من الخلية النشطة الى آخر خلية بها بيانات فى نفس عمود الخلية النشطة ناس هتقول ايه فائدة ده كله ؟ هقوله جرب المرفق التالى وأنت تعرف ممكن يعملوا ايه ! ملحوظة 1 : ده مش معناه أن السطرين دول وبس ممكن يعملوا ما فى المرفق ملحوظة 2 : فى المرفق تم اضافة الخاصية Offset على السطرين . find last entry in Rows and columns by mokhtar .rar والسلام عليكم ورحمة الله تعالى وبركاته تم تعديل نوفمبر 1, 2015 بواسطه مختار حسين محمود 7
ياسر خليل أبو البراء قام بنشر نوفمبر 2, 2015 قام بنشر نوفمبر 2, 2015 أخي الحبيب مختار موضوع رائع ومتميز بارك الله فيك وجزاك الله كل خير تقبل وافر تقديري واحترامي 1
سليم حاصبيا قام بنشر نوفمبر 2, 2015 قام بنشر نوفمبر 2, 2015 (معدل) زيادة في اثراء الموضوع هذا الكود البسيط ملاحظة كود على السريع حيث ان البيانات يجب ان تبدأ من العامود A (يمكن التعديل) Sub mylastecel() Dim lr, lc As Integer lr = UsedRange.Rows.Count lc = UsedRange.Columns.Count For i = 1 To lc If Cells(lr, i) <> "" Then Cells(lr, i).Select Selection.Offset(0, 1).Select If Selection = "" Then Selection.Offset(0, -1).Select End If Next End Sub تم تعديل نوفمبر 2, 2015 بواسطه سليم حاصبيا 2
مختار حسين محمود قام بنشر نوفمبر 2, 2015 الكاتب قام بنشر نوفمبر 2, 2015 أخى وأستاذى الغالى ياسر خليل بارك الله فيك نورت الموضوع وشرفت بمرورك أخى وأستاذى الغالى سليم حاصبيا مشكور على الاضافة نورت الموضوع وشرفت بمرورك
Yasser Fathi Albanna قام بنشر نوفمبر 2, 2015 قام بنشر نوفمبر 2, 2015 موضوع رائع ومفيد أخى الغالى / مختار أدام الله عليك الصحة والعافية جزاك الله خيرا
مختار حسين محمود قام بنشر نوفمبر 2, 2015 الكاتب قام بنشر نوفمبر 2, 2015 أخى الغالى المهندس ياسر فتحى بارك الله فيك نورت الموضوع وشرفت بمرورك 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.