عبد اللطيف سلوم قام بنشر يوليو 10, 2019 مشاركة قام بنشر يوليو 10, 2019 السلام عليكم لو كان عندي ملف اكسل يحتوي على العديد م ناوراق العمل باسماء مختلفة هل هناك طريقة لترتيب الاوراق ابجديا حسب الاسم ؟؟ رابط هذا التعليق شارك More sharing options...
Ali Mohamed Ali قام بنشر يوليو 10, 2019 مشاركة قام بنشر يوليو 10, 2019 وعليكم السلام -بارك الله فيك أستاذ عبد اللطيف بالتأكيد هناك ترتيب وكما تشاء سواء تصاعدياً أو تنازلياً -كما بهذا الرابط https://www.officena.net/ib/topic/33468-هل-يمكن-ترتيب-اسماء-شيت-الاكسيل-ابجدي/ وهذا هو الملف ترتيب الأوراق حسب أسمائها.xls 2 1 رابط هذا التعليق شارك More sharing options...
عبد اللطيف سلوم قام بنشر يوليو 10, 2019 الكاتب مشاركة قام بنشر يوليو 10, 2019 صديقي كيف اطبق الامر على ملف العمل الخاص بي هل يكفي نسخ الزر الخاص بالترتيب ؟؟ نسخت الزر وفعلا تم الترتيب لكن اعطاني رسالة خطأ رابط هذا التعليق شارك More sharing options...
Ali Mohamed Ali قام بنشر يوليو 10, 2019 مشاركة قام بنشر يوليو 10, 2019 عليك بفتح مديول جديد ووضع هذا الكود به وربطه بزر Sub xlSortSheets_Test() Dim strWhich As String Dim Which As Integer strWhich = InputBox("لترتيب أسماء الأوراق تصاعدياً أدخل الرقم 1 " & vbNewLine & "لترتيب أسماء الأوراق تنازلياً أدخل الرقم -1 ", "تحديد طبيعة ترتيب أسماء الأوراق", "1") If strWhich = vbNullString Then Exit Sub If strWhich = "-1" Or strWhich = "1" Then Which = strWhich Call xlSortSheets(Which) Exit Sub End If MsgBox "لم تدخل الأرقام المسموح بها لعمل الترتيب" & vbCrLf & "لم يتم ترتيب الأوراق", vbOKOnly End Sub Sub xlSortSheets(Optional Which As Integer = 1) Dim I As Integer Dim J As Integer Dim SheetNames() As String Dim temp As String ReDim SheetNames(Sheets.Count) For I = 1 To Sheets.Count SheetNames(I) = Sheets(I).Name Next I For I = 1 To Sheets.Count - 1 For J = I + 1 To Sheets.Count If (Which = -1 And SheetNames(I) < SheetNames(J)) _ Or _ (Which = 1 And SheetNames(I) > SheetNames(J)) Then temp = SheetNames(I) SheetNames(I) = SheetNames(J) SheetNames(J) = temp End If Next J Next I temp = Sheets(Sheets.Count).Name For I = Sheets.Count To 1 Step -1 Sheets(SheetNames(I)).Select Sheets(SheetNames(I)).Move Before:=Sheets(temp) temp = SheetNames(I) Next I Sheet1.Select End Sub 2 رابط هذا التعليق شارك More sharing options...
Ali Mohamed Ali قام بنشر يوليو 10, 2019 مشاركة قام بنشر يوليو 10, 2019 لو ممكن رفع الملف للتجربة 2 رابط هذا التعليق شارك More sharing options...
عبد اللطيف سلوم قام بنشر يوليو 10, 2019 الكاتب مشاركة قام بنشر يوليو 10, 2019 الوزن.xlsx رابط هذا التعليق شارك More sharing options...
أفضل إجابة Ali Mohamed Ali قام بنشر يوليو 10, 2019 أفضل إجابة مشاركة قام بنشر يوليو 10, 2019 تفضل عندما تريد ترتيباً تصاعدياً تقوم بكتابة رقم 1 فى الرسالة الحوارية و -1 عندما تريد ترتيباً تنازلياً الوزن.xlsm 2 رابط هذا التعليق شارك More sharing options...
عبد اللطيف سلوم قام بنشر يوليو 10, 2019 الكاتب مشاركة قام بنشر يوليو 10, 2019 الف شكر يا باشا تم التطبيق بنجاح 1 رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان