اذهب الي المحتوي
أوفيسنا

احمد عبدالحليم

03 عضو مميز
  • Posts

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

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

  • Days Won

    7

Community Answers

  1. احمد عبدالحليم's post in عمل كود لنقل بعض البيانات من جدول إلي اخر was marked as the answer   
    معك حق تم تعديل الكود تفضل جرب الملف واعلمنى بالنتيجة 
    1.xlsm
  2. احمد عبدالحليم's post in تقييم المخزون طبقا لاخر سعر was marked as the answer   
    وعليكم السلام ورحمه الله وبركاته
    تفضل اخى حل سريع ........ تم اضافة عمود مساعد فى شيت الاصناف للحصول على اخر تاريخ لشراء الصنف ومنه نحصل على اخر سعر شراء للصنف بناءا على اخر تاريخ شراء للصنف
    المعادلة هى صيغة مصفوفة هتلاقيها بين قوسين {} ولعمل ذلك اذا اردت التعديل على المعادلة تضغط من الكيبورد على Ctrl + Shift + Enter معا
    ايضا يتم الحصول على احر تاريخ واخر سعر بناءا على كود الصنف وليس اسم الصنف 
    تقبل تحياتى
    لاخر سعر.xlsx
  3. احمد عبدالحليم's post in نقل الكمية بين المخازن was marked as the answer   
    تفضل اخى جرب الملف
    قكت بتعديل كود MajStkProv وكود  xx() لتاكيد الحصول على الرصيد الصحيح 
    وتم اضافة هذا الكود الى كود التحويل او الحفظ 
    Dim rng As Range Dim cll As Range Dim cll2 As Range Dim lastRow As Long lastRow = ThisWorkbook.Sheets("Stock").Cells(Rows.Count, "A").End(xlUp).Row Set rng = ThisWorkbook.Sheets("Stock").Range("A4:A" & lastRow) For Each cll In rng If cll.Value = Me.CB_Pièce.Text And cll.Offset(0, 11).Value = Me.ComboBox1.Value Then cll.Offset(0, 3).Value = Val(Me.stocktr.Value) - Val(Me.Quantitetr.Value) Exit For End If Next cll For Each cll2 In rng If cll2.Value = Me.CB_Pièce.Text And cll2.Offset(0, 11).Value = Me.ComboBox2.Value Then cll2.Offset(0, 3).Value = Val(Me.TextBox_Stock_Initial.Value) + Val(Me.Quantitetr.Value) Exit For End If Next cll2 تقبل تحياتى
     
    نقل المخزون بين المخازن.xlsm
  4. احمد عبدالحليم's post in حل مشكلة الاسماء المركبة في كود تقسيم الاسم في ثلاثة اعمدة was marked as the answer   
    تفضل اخى تم بحمد الله عمل المطلوب والتعديل على الدالة التى ارفقتها للحصول على النتائج المطلوبة 
    واعذرنا على التأخير لكل منا مشاغله
    ملاحظة يجب اضافة الاسم المركب الجديد فى الكود كما فى هذا الجزء 
     
    MyArray = Array("عبد ", "أبو ", "ابو ", "آل " _ , " الله", " الدين", " الإسلام", " الاسلام", " الحق") بمعنى ان وجد مثلا اسم مثل نور الهدى احمد عبدالحليم فيجب على اضافة كلمة الهدى قبلها فراغ اى زر المسطرة قبل كلمة الهدى  الى هذه المصفوفة وهكذا مع باقى الاسماء المركبة الجديدة لتصبح هكذا 
    MyArray = Array(" عبد", " أبو", " ابو", " آل" _ , " الله", " الدين", " الإسلام", " الاسلام", " الحق", " الهدى") جرب الملف واعلمنا بالنتيجة
    تقبل تحياتى
    تقسيم الاسم في ثلاثة اعمدة.xlsm
  5. احمد عبدالحليم's post in جلب البيانات بدون تكرار was marked as the answer   
    تفضل اخى 
    جرب واعلمنى بالنتيجة 
    تم اضافة اعادة ترتيب البيانات تصاعديا حسب التاريخ 
    جرب الكود والملف 
     
     
    تعديل جلب التفاصيل.xlsm
  6. احمد عبدالحليم's post in تعديل على كود (رفع المكرر على اساس شروط ثلاثة وترحيلها الى شيت اخر) was marked as the answer   
    السلام عليكم ورحمة الله وبركاته
    اخى الفاضل @kkfhvvv
    تفضل هذا الكود يقوم بتصفية البيانات للثلاث الاعمدة جربه لعله يكون المطلوب
    Sub RemoveDuplicatesRange() Dim lastRow As Long lastRow = Sheets("البيانات").Cells(Sheets("البيانات").Rows.Count, "O").End(xlUp).Row Sheets("البيانات").Range("O1:Q" & lastRow).Copy Sheets("ارقام").Range("A1").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False lastRow2 = Sheets("ارقام").Cells(Sheets("ارقام").Rows.Count, "A").End(xlUp).Row Sheets("ارقام").Range("$A$2:$C$" & lastRow2).RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlNo End Sub تقبل تحياتى
  7. احمد عبدالحليم's post in مشكلة في سحب الأرقام بالسالب من SAP was marked as the answer   
    السلام عليكم ورحمة الله وبركاته السبب هنا عند لصق الارقام الى الاكسل فان علامة السالب اصبحت فى ناحية اليمين 
    اليك الملف يحتوى على كود vba لتعديل مكان علامة السالب من اليمين الى اليسار 
    كل ما عليك هو تحديد الارقام التى تريد تعديلها ثم النقر على زر تعديل الارقام وسوف يقوم بحل المشكلة باذن الله تعالى
    واليك صورتين لكيفية العمل ايضا 


    العلامة بالسالب.xlsm
  8. احمد عبدالحليم's post in اختصار كود جلب البيانات was marked as the answer   
    وعليكم السلام ورحمة الله 
    جرب الكود التالى
     
    Dim ws As Worksheet: Set ws = Sheets(1) Dim sh As Worksheet: Set sh = Sheets(2) sh.Range("A5:N1000") = "" k = 5 lr = ws.Range("A" & Rows.Count).End(xlUp).Row For i = 3 To lr Dim columns(1 To 3) As Variant columns(1) = "J" columns(2) = "L" columns(3) = "N" For c = 1 To 3 Dim column As String column = columns(c) If ws.Range(column & i) >= sh.[D2] And _ ws.Range(column & i) <= sh.[G2] Then For j = 2 To 20 sh.Cells(k, j) = ws.Cells(i, j) Next k = k + 1 End If Next c Next i  
  9. احمد عبدالحليم's post in نطاق دينامكى للفريم was marked as the answer   
    وعليكم السلام ورحمة الله وبركاته
    ضع هذا قبل اخر End If
    Me.Frame1.Height = Me.Frame1.Height + 14 Me.ListBox2.Height = ListBox2.Height + 14 Me.Label8.Top = Me.Frame1.Top + Me.Frame1.Height + 10: Me.Label9.Top = Me.Label8.Top + Me.Label8.Height: Me.Label10.Top = Me.Label9.Top + Me.Label9.Height Me.TextBox1.Top = Me.Label8.Top: Me.TextBox2.Top = Me.TextBox1.Top + Me.TextBox1.Height: Me.TextBox3.Top = Me.TextBox2.Top + Me.TextBox2.Height Me.CommandButton1.Top = Me.Label8.Top  
  10. احمد عبدالحليم's post in عند الضفط على اليست بوكس يزداد رقم الكمية 1 was marked as the answer   
    تفضل اخى الفاضل @عمر الجزاوى
    قمت باضافة بعد التعديلات كالتالى
    هذا بخصوص ListBox1
    اذا كان رصيد الصنف اقل من او يساوى صفر عدم اضافة الصنف واظهار رسالة بان الرصيد لهذا الصنف قد انتهى
    عند اختيار الصنف لاكثر من مرة ووصول الكمية لاكبر من رصيد المخزن عدم اضافة الصنف واظهار رسالة بان الرصيد لا يسمح 
    حيث انه لا يصح الصرف اذا كان الرصيد صفر او تعدت الكمية المباعة الرصيد الفعلى للصنف 
    اما بخصوص  ListBox2
    يمكن ان تقوم  بازالة منتج من الفاتورة فقط قم بالنقر على الصنف المراد حذفه من الفاتورة مرتيين
    تقبل تحياتى
    المصنف1.xlsm
  11. احمد عبدالحليم's post in محتاج تعديل نطاق كود was marked as the answer   
    السلام عليكم ورحمة ورحمة الله 
    كان هذا طلبك وتم الاجابة عليه باكثر من طريقة من الاخوة الافاضل 
    انتهى من التصميم ثم فكر فى الحل 
    قم بتغيير التالى 
    x = Columns(1).Cells.Find(Range("N6"), , , 1).Row هنا هتغير حاجتين رقم العمود حيث كان العمود a وهو رقم 1  بالعمود الذى يحتوى على اكواد الموظفين وكمان هتغيير الخلية n6 وهى التى تحتوى على رقم كود الموظف بالخلية الجديدة التى تحتوى على كود الموظف

     
    Range("N8") = Cells(x, 2) هنا هتغير حاجتين Range("N8") بالخلية الجديدة التى اصبحت تحتوى على اسم الموظف وكمان هتغير  Cells(x, 2) رقم 2 برقم العمود الذى اصبح يحتوى على اسماء الموظفين حسث كان سابقا هو العمود b اى رقم 2 
    Set r = Cells(x, 1 + Split(Range("N4").Text, "-")(0) * 1).Resize(, 1 + Split(Range("P4").Text, "-")(0) * 1) هنا هتغير Range("N4") باسم الخلية التى تحتوى على تاريخ البداية باسم الخلية الجديدة وكمان هتغيير Range("P4") تاريخ النهاية باسم الخلية الجديدة لتاريخ النهاية 
    واكمل باقى باقى التغييرات بنفس النمط 
    او قم برفع ملف لعمل التعديلات المطلوبة مفيش حد هيكتب  توقعات على اساس التعديل الذى قمت به 
    تقبل تحياتى
  12. احمد عبدالحليم's post in ساعة الاذان الرقمية لجميع الدول العربية was marked as the answer   
    وعليكم السلام ورحمة الله وبركاته 
    حبا وتقديرا للاستاذ الفاضل @ياسر خليل أبو البراء  
    تفضل 
    مواقيت الصلاة.xlsb
  13. احمد عبدالحليم's post in كود وقوف مؤشر الماوس علي البوتون يظهر الفريم was marked as the answer   
    وعليكم السلام ورحمة الله وبركاته
     
    تفضل
    Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Me.Frame1.Visible = False End Sub  
  14. احمد عبدالحليم's post in نرحيل الى خلاصة الاجازات العرضية و المرضية was marked as the answer   
    تفضل اخى مطلبك على الملف الذى ارفقته سابقا بعد توضيح المطلوب
    DataBASE2.xlsm
    ولكن اذا كان غياب الموظف اكثر 7 ايام سوف يحدث خطأ بسبب التنسيقات حيث ان الجداول اسفل بعضها فى شيت Abs 
    لذلك اليك حل اخر بحيث تكون الجداول لانواع الاجازات بجوار بعضها 
    البحث برقم الموظف .xlsm
    فى كلا الملفين اكتب رقم الموظف سوف تحصل على الاجازات 
    تقبل تحياتى
  15. احمد عبدالحليم's post in فلتر متقدم was marked as the answer   
    وعليكم السلام ورحمة الله وبركاته
    تفضل اخى جرب الملف
    الكود فى حدث الشيت Change
    Private Sub Worksheet_Change(ByVal Target As Range) Dim filterRange As Range Dim dataRange As Range Dim lastRow As Long Dim lastRow2 As Long Application.ScreenUpdating = False If Target.Address = "$P$4" Then lastRow2 = Cells(Rows.Count, "P").End(xlUp).Row Range("P6:V" & lastRow2 + 1).ClearContents If Not IsEmpty(Target.Value) Then lastRow = Cells(Rows.Count, "E").End(xlUp).Row Set dataRange = Range("A6:G" & lastRow) dataRange.AutoFilter Field:=5, Criteria1:="*" & Target.Value & "*" dataRange.Copy Range("P6") dataRange.AutoFilter End If End If Application.ScreenUpdating = True End Sub  
    Data.xlsm
  16. احمد عبدالحليم's post in المساعد بتحويل المعادله الى كود ماكر was marked as the answer   
    جرب هذه الكود التالى 
    لعله يكون المطلوب
    Attendance Report Work Sheet.xlsm
  17. احمد عبدالحليم's post in خصم عدد ساعات التاخير وترحيل المتبقي في العمود اللي بعده was marked as the answer   
    وعليكم السلام ورحمة الله وبركاته
    تفضل اخى جرب الملف 
    =IF(R3*24 < 8;"";INT(R3*24/8)) هذه المعادلة لحساب الايام واليوم = 8 ساعات وتم الضرب فى 24 وهو عدد ساعات اليوم الواحد ولتحويل الوقت الى رقم والدالة INT للحصول على الرقم الصحيح بدون كسر
    =IF(R3*24<8;R3;R3-S3*8/24) وهذه المعادلة لحساب عدد الساعات الباقية من الايام 
     
    Book7.xlsx
  18. احمد عبدالحليم's post in الفلترة بالاسم was marked as the answer   
    جرب الكود التالى 
    Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$8" Or Target.Address = "$F$8" Then Dim LastRow As Long Dim FilterRange As Range Dim FilterColumn As Long If Target.Address = "$D$8" Then FilterColumn = 2 ElseIf Target.Address = "$F$8" Then FilterColumn = 4 End If LastRow = Me.Cells(Rows.Count, "D").End(xlUp).Row Set FilterRange = Range("C9:U" & LastRow) If Not IsEmpty(Target.Value) Then FilterRange.AutoFilter Field:=FilterColumn, Criteria1:=Target.Value Else FilterRange.AutoFilter Field:=FilterColumn End If End If End Sub  
  19. احمد عبدالحليم's post in يرجى المساعدة في ايجاد معادلة was marked as the answer   
    السلام عليكم ورحمه الله وبركاته
    قم بالتجربة واعلمنى بالنتيجه 
    التجربه افضل من أن تسأل وفي حاله حدوث اخطاء او مشاكل اطرحها وتأكد أنك سوف تجد الاجابه في هذا الصرح الكبير 
  20. احمد عبدالحليم's post in داله تقوم اظهار الاصناف الجديده والبعد عن الاصناف المتكرره مع التلوين was marked as the answer   
    وهذا حل اخر ولكن باستخدام VBA لعمل المطلوب كما تريده وبشكل افضل وتلوين كود الصنف الجديد فى العمود 2 واظهار الاصناف الجديدة فى العمود 3 معا بدون خلايا فارغة
     
    استخراج اكواد الاصناف الجديدة وتلوينها VBA .xlsm
  21. احمد عبدالحليم's post in طريقة تفصيل الملف الى قسمين was marked as the answer   
    وعليكم السلام ورحمة الله وبركاته
    اذا كنت تقصد بان القيمة السالبة فى العمود C هى خصم والموجبة هى مكافأة جرب هذا الملف
    خضم ومكافاة.xlsm
  22. احمد عبدالحليم's post in نسخة احتياطيه was marked as the answer   
    جرب هذا الكود 
    SaveNew.xlsm
  23. احمد عبدالحليم's post in تسمية النطاقات was marked as the answer   
    تفضل جرب هذا 
    تسمية النطاقات.xlsm
  24. احمد عبدالحليم's post in حساب متوسط was marked as the answer   
    جرب هذا 
    حساب متوسط.xlsx
  25. احمد عبدالحليم's post in اضافة على كود الترحيل was marked as the answer   
    تفضل اخى لعل هذا المطلوب 
    نرحيل.xlsm
×
×
  • اضف...

Important Information