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

الردود الموصى بها

قام بنشر (معدل)
 Dim dat, dat_bon As Date
Dim X As Integer
Dim v As Integer
Dim Uf As Integer
Dim i As Long
Dim J As Long
Set fa = Sheets("Stock")
With Feuil1
Uf = fa.Range("A" & Rows.Count).End(xlUp).Row
For i = 0 To ListBox1.ListCount - 1
For J = 2 To Uf
If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 Then
      If Me.OptionButton1 = True Or Me.OptionButton2 = True Then
        dat_bon = .Cells(J, 9)
        If dat_bon < dat Then
        dat_bon = dat
        End If  
      End If
End If
Next J
Next i
For i = 0 To ListBox1.ListCount - 1
For J = 2 To Uf
If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 And .Cells(J, 9) = dat_bon Then
      If Me.OptionButton1 = True Then
        .Cells(J, 4) = .Cells(J, 4) + Val(ListBox1.List(i, 3))
        .Cells(J, 6) = .Cells(J, 6) - Val(ListBox1.List(i, 3))
         If (Cells(J, 4).value) = 0 Then
            Cells(J, 4).EntireRow.Delete
                        
        End If
      ElseIf Me.OptionButton2 = True Then
        .Cells(J, 4) = .Cells(J, 4) - Val(ListBox1.List(i, 3))
        .Cells(J, 7) = .Cells(J, 7) + Val(ListBox1.List(i, 3))
         If (Cells(J, 4).value) = 0 Then
            Cells(J, 4).EntireRow.Delete
         
        End If
      End If
 End If
Next J
Next i
End With

 

السلام عليكم ورحمة الله وبركاتة

ممكن ان تساعدونى

هذا الكود يقوم بحذف الخلية 4 كاملة اذا كانت تحتوى الخلية على رقم صفر

ولاكن اريد ان اقوم بدمجها مع الخلية 5 وهى اسم المخزن ولاكن اذا كان اسم  المخزن غير مكرر فلا يقوم بالحذف وذلك يرجع عندما اقوم باختيارها من combobox1

وشكرا جزيلا

32 دقائق مضت, mahmoud nasr alhasany said:
If (Cells(J, 4).value) = 0 Then
            Cells(J, 4).EntireRow.Delete

 

تم تعديل بواسطه mahmoud nasr alhasany
قام بنشر (معدل)

اقصد اسم المخزن غير مكرر فى بيانات الشيت "STOCK"

اريد ان اقوم بدمجها مع الخلية 5 وهى اسم المخزن ولاكن اذا كان اسم  المخزن غير مكرر فى بيانات الشيت  "STOCK" فلا يقوم بالحذف وذلك يرجع عندما اقوم باختيارها من combobox1

وشكرا جزيلا

كمثال انظر الصورتين

A- 100   مخزن رئيسى  D-149    -E

A- 100   مخزن رئيسى  D- 0     -E

A- 100   مخزن رئيسى  D- 19    -E

Compress_٢٠٢٤٠٥٢٢_١٢١١٠٠_0802.jpg

تم تعديل بواسطه mahmoud nasr alhasany
قام بنشر

**الإجابة:**

يمكنك تعديل الكود الخاص بك كما يلي:


Dim dat, dat_bon As Date
Dim X As Integer
Dim v As Integer
Dim Uf As Integer
Dim i As Long
Dim J As Long
Set fa = Sheets("Stock")
With Feuil1
Uf = fa.Range("A" & Rows.Count).End(xlUp).Row
For i = 0 To ListBox1.ListCount - 1
For J = 2 To Uf
If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 Then
      If Me.OptionButton1 = True Or Me.OptionButton2 = True Then
        dat_bon = .Cells(J, 9)
        If dat_bon < dat Then
        dat_bon = dat
        End If  
      End If
End If
Next J
Next i
For i = 0 To ListBox1.ListCount - 1
For J = 2 To Uf
If .Cells(J, 1) = Val(ListBox1.List(i, 0)) And .Cells(J, 5) = ComboBox1 And .Cells(J, 9) = dat_bon Then
      If Me.OptionButton1 = True Then
        .Cells(J, 4) = .Cells(J, 4) + Val(ListBox1.List(i, 3))
        .Cells(J, 6) = .Cells(J, 6) - Val(ListBox1.List(i, 3))
         If (Cells(J, 4).value) = 0 Then
            Cells(J, 4).EntireRow.Delete
                        
        End If
      ElseIf Me.OptionButton2 = True Then
        .Cells(J, 4) = .Cells(J, 4) - Val(ListBox1.List(i, 3))
        .Cells(J, 7) = .Cells(J, 7) + Val(ListBox1.List(i, 3))
         If (Cells(J, 4).value) = 0 Then
            Cells(J, 4).EntireRow.Delete
         
        End If
      End If
 End If
Next J
Next i
End With

**ملاحظة:**

* هذا التعديل سيقوم بدمج الخلية 4 مع الخلية 5 إذا كان اسم المخزن غير مكرر في ورقة العمل "Stock".
* إذا كان اسم المخزن مكررًا، فسيتم حذف الخلية 4 بالكامل.

 

قام بنشر (معدل)

لقد فعلت ذلك وجدت انه يحذف المكرر والغير مكرر فى حالة الرصيد اصبح صفر

لوافترضنا ان يوجد كود المنتج 100 والمخزن  هو مخزن رئيسى ورصيد المخزون 149

وايضا                  كود المنتج 100 والمخزن  هو مخزن رئيسى ورصيد المخزون 10

عندما يصقر الرصيد 10 الى صفر يقوم بحزفها

لوافترضنا ان ايضا كود المنتج 100 والمخزن  هو مخزن رئيسى ورصيد المخزون 149 اصبح صفر

كدة مافيش كود 100 ولا مخزن رئيسى فى ورقة العمل

صح كده

لا لو ان اصبح صفر فلا يقوم بحزفها لان المخزن غير مكرر مع كود المنتج

وهذا هو المطلوب

تم تعديل بواسطه mahmoud nasr alhasany
قام بنشر

وعليكم السلام ورحمة الله وبركاته 

جرب هذا التعديل اخى

If (fa.Cells(J, 4).value) = 0 and Application.WorksheetFunction.CountIf(fa.Range("e2:e" & uf), ComboBox1) > 0 Then Fa.Cells(J, 4).EntireRow.Delete

 

قام بنشر (معدل)

وعليكم السلام ورحمة الله وبركاته 

اخى / حسونة حسين

اشكرك على الرد والاهتمام

لقد جربت الكود لاكنه عندما تكون الخلية صفر يقوم بحزف الخلية علما ان المخزن غير مكرر

اريد ان يقوم بحذفها عندما تكون الخلية صفر فى حالة لو كان المخزن مكرر مع كود المنتج التابع لها

لابد ان يتوافر لها ثلاثة شروط

كود المنتج والمخزن والقيمة صفر عندما تكون مكرره

اما لو كان المنتج والمخزن صفر وغير مكرر لايقوم بحزفها

A - 100

مخزن - E

قيمة - D

تم تعديل بواسطه mahmoud nasr alhasany
  • أفضل إجابة
قام بنشر

تفضل اخي

Dim Stock_check As Boolean, Product_check As Boolean
Stock_check = Application.WorksheetFunction.CountIf(fa.Range("E2:E" & Uf), ComboBox1) > 1
Product_check = Application.WorksheetFunction.CountIf(fa.Range("A4:A" & Uf), .Cells(J, 1)) > 1
If (fa.Cells(J, 4).Value) = 0 And Stock_check = True And Product_check = True Then
  fa.Cells(J, 4).EntireRow.Delete
End If

 

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information