اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

احمد عبد الناصر

الخبراء
  • Posts

    662
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    5

كل منشورات العضو احمد عبد الناصر

  1. السلام عليكم استاذ عباس شاكر لك كلماتك و دعائك زادك الله علما و نفع بك . تحياتي
  2. جرب هذا الكود فهو ابسط و ادق Sub Dahmour() For ic = 2 To Range("iv1").End(xlToLeft).Column SII = SII & "-" & Cells(1, ic) Next Do c = 0 i = 2 Z = 3 For x = Range("iv1").End(xlToLeft).Column To 2 Step -1 If c >= (Range("iv1").End(xlToLeft).Column - 1) / 2 Then For xx = 2 To Range("iv1").End(xlToLeft).Column - c Cells(DI + 2, Z) = Cells(DI + 1, xx) c = c + 1 Z = Z + 2 Next GoTo 1 End If Cells(DI + 2, i) = Cells(DI + 1, x) c = c + 1 i = i + 2 Next 1: SI = "" For ic = 2 To Range("iv1").End(xlToLeft).Column SI = SI & "-" & Cells(DI + 2, ic) Next If SI = SII Then Exit Sub DI = DI + 1 Loop End Sub
  3. السلام عليكم اخي الكريم جرب هذه Dim DI As Integer Sub Dahmour() c = 0 i = 2 Z = 3 For x = Range("iv1").End(xlToLeft).Column To 2 Step -1 If c >= (Range("iv1").End(xlToLeft).Column - 1) / 2 Then For xx = 2 To Range("iv1").End(xlToLeft).Column - c Cells(DI + 2, Z) = Cells(DI + 1, xx) c = c + 1 Z = Z + 2 Next For ic = 2 To Range("iv1").End(xlToLeft).Column SI = SI & "-" & Cells(DI + 2, ic) SII = SII & "-" & Cells(1, ic) Next If SI = SII Then Exit Sub Else GoTo 5 End If End If Cells(DI + 2, i) = Cells(DI + 1, x) c = c + 1 i = i + 2 Next If sd = 8 Then 5: DI = DI + 1 Dahmour End If DI = 0 End Sub تحياتي الملف++-+ .rar
  4. السلام عليكم اسعد الله اوقاتكم استاذ يوسف بالنسبة للشرح فمعذرة فانا لست جيد في الشروحات لكن بامكانك ارفاق الملف بالشكل النهائي الذي تريد و احاول تعديل الكود ليتناسب معه ثم يمكنك استنتاج التغير في جزئيات الكود. اما بالنسبة للمقارنة للخلاية التي بها نص فهذا ممكن كما اعلم و لكن التجربة ستكون خير دليل . استاذ سعد شاكر لك مرورك الكريم و بصراحة انا سعيد جدا لدخولك في عالم الاكواد زادك الله علما و نفع بك. استاذ احمد فضيله شاكر لك مروركم الكريم تقبل تحياتي
  5. السلام عليكم جرب هذه Sub Button4_Click() Application.ScreenUpdating = False x = Cells(Rows.Count, 2).End(xlUp).Row If x > 2 Then Range("ba3:ba" & x).Formula = "=b3&c3&d3" y = Cells(Rows.Count, "h").End(xlUp).Row If y > 2 Then Range("bb3:bb" & y).Formula = "=h3&i3&j3" Range("bc3:bc" & x).FormulaR1C1 = "=COUNTIF(C[-1],RC[-2])" Range("bd3:bd" & y).FormulaR1C1 = "=COUNTIF(C[-3],RC[-2])" If x > y Then Z = x Else Z = y Range("ba3:bd" & Z) = Range("ba3:bd" & Z).Value For i = 3 To Z If Cells(i, "bc") > 0 Then Range("a" & i & ":e" & i).Copy Range("n" & n + 3) Range("a" & i & ":e" & i).ClearContents n = n + 1 End If If Cells(i, "bd") > 0 Then Range("g" & i & ":k" & i).Copy Range("t" & t + 3) Range("g" & i & ":k" & i).ClearContents t = t + 1 End If Next Range("ba3:bd" & Z).Clear Range("a3:e" & x).Sort key1:=Range("a3"), key2:=Range("b3") Range("g3:k" & x).Sort key1:=Range("g3"), key2:=Range("h3") End If End If Application.ScreenUpdating = True End Sub لكن للاسف الكود بطيء نوعا ما , لا اعلم ان كان يفي بالغرض تحياتي مطابقه++ - مقارنه.rar
  6. السلام عليكم تحياتي للجميع زيادة في الخير جرب هذه Private Sub ComboBox1_Click() TextBox1 = Sheets("sheet2").Cells(ComboBox1.ListIndex + 2, 1) End Sub
  7. السلام عليكم جرب هذا افتح ملف اكسيس فارغ من External Data اختر Excel ثم اتبع الخطوات تحياتي
  8. السلام عليكم هذه اصل المعادلة في الاكسيل =SUMIFS(saad!$D:$D;saad!$A:$A;$B6;saad!$B:$B;C$5) بصراحة انا سجلتها بالمكرو ليحولها الاكسيل بنفسه علي اي حال RC2 تعني العمود الثاني (ثابت) مع تغير الصف تعادل هذه $B6 و العكس في R5C الصف الخامس ثابت مع تغير العمود حسب الخليه التي تحتوي علي المعادلة تعادل C$5 تحياتي
  9. السلام عليكم معذرة لم انتبه للملف المرفق في البداية علي اي حال جرب هذه المحاولة Sub saad() Sheets("report").Range("b5:l1000").Clear Sheets("data").Range("k7:k" & Sheets("data").Range("k" & Rows.Count).End(xlUp).Row).Copy Sheets("report").Range("b5").PasteSpecial (xlPasteValuesAndNumberFormats) Sheets("data").Range("l8:l" & Sheets("data").Range("l" & Rows.Count).End(xlUp).Row).Copy Sheets("report").Range("c5").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Transpose:=True Application.CutCopyMode = False r = Sheets("report").Range("b" & Rows.Count).End(xlUp).Row c = Sheets("report").Range("iv5").End(xlToLeft).Column Sheets("report").Range(Cells(6, 3), Cells(r, c)).FormulaR1C1 = "=SUMIFS(saad!C4,saad!C1,RC2,saad!C2,R5C)" Sheets("report").Range(Cells(6, 3), Cells(r, c)) = Sheets("report").Range(Cells(6, 3), Cells(r, c)).Value End Sub تحياتي 1++.rar
  10. السلام عليكم بداية هذا السطر يتخطى الاخطاء و بذلك لن تعلم ما او اين الخطأ بالظبط فمن الافضل حذفه ام لم يكن وضعه ضروري On Error Resume Next وهذا السطر اعتقد يجب ان يضاف له SET هكذا Set ww = Application.WorksheetFunction هذا لا بأس به لكن يمكن اختصاره ليصبح Y = Sheets("saad").Range("a" & Rows.Count).End(xlUp).Row اما بالنسبه لهذا فسوف يعمل لكن لاحظ ان عمود النتيجة هو C و C ايضا جزء من شروط المعادلة لا اعلم ان كان هذا مقصود Cells(i, "c") = ww.SumIfs(a, z, Cells(i, "b"), d, Range("c5")) و هكذا يصبح الكود النهائي Sub saad() Set ww = Application.WorksheetFunction Set d = Sheets("saad").Range("c5:c1500") Set a = Sheets("saad").Range("e5:e1500") Set z = Sheets("saad").Range("b5:b1500") Y = Sheets("saad").Range("a" & Rows.Count).End(xlUp).Row For i = 6 To Y Cells(i, "c") = ww.SumIfs(a, z, Cells(i, "b"), d, Range("c5")) Next i End Sub هذا و الله اعلم تحياتي
  11. السلام عليكم بداية مرحبا بك في المنتدي , حاول ارفاق الملف في المرات القادمة . جرب هذا تحياتي t010.rar
  12. السلام عليكم جرب هذا تحياتي جدول لمتابعة الموظف - Copy+.rar
  13. السلام عليكم تحياتي للجميع ومرحبا بك في المنتدي , حاول ارفاق ملف توضح فيه المطلوب في المرات القادمة . هذه محاولة (زيادة في الخير ) باستخدام vlookup مع المعامل true . vlookuptrue.rar
  14. السلام عليكم استاذ خالد شاكر لك مرورك الكريم جزاك الله خيرا وزادك من نعيمه ,تقبل تحياتي استاذ (احب العلم) شاكر لك كلماتك و شعورك الطيب و مرحبا بك في هذا االمنتدي الكريم , زادك الله علما و نفع بك . تقبل تحياتي الاخ الحبيب حمادة عمر شكرا لمرورك الكريم , تقبل تحياتي
  15. السلام عليكم استاذ ربيع معذرة ارجو ان تتقبل اسفي خطأ غير مقصود .
  16. السلام عليكم استاذ ضاحي , اسعد الله اوقاتك كلامك صحيح نسبيا لكن لن يذهب الي الامر الثاني الا اذا انتهي من الاول فلا تأثير لهذا . المشكل و الله اعلم انه يشترط في حالة كون الرقم اكبر من 20 ان يطرح الرقم من 40 وبالتالي فان كان الرقم 48 اي اكبر من 20 سوف يطرحه من 40 و يساوي -8 , و لن يذهب ابدا للشرط الاخير و هو حالة ان الرقم اكبر من 40 وذلك لان الشرط تحقق في الجملة السابقة و هي ان 48 اكبر من 20 . تحياتي
×
×
  • اضف...

Important Information