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

ملف جديد للموردين بحاجة الى تعديل الفورم


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

فى المرفقات ملف جديد للموردين وقد قمت بعمل فورم فيه ليلبى احتياجات الملف وقمت بشرح الطريقة التى اتمنى ان يعمل بها الفورم ان كان هذا ممكنا ... اتمنى من الاخوة الاعزاء والمبدعين فى الاكسيل المساعدة حتى يظهر العمل بصورة صحيحة ونستطيع الاستفادة .

مستحقات جديدة 2012.rar

رابط هذا التعليق
شارك

بسم الله ما شاء الله ... أخى ابو حنين .. انت رائع ومبدع .... جزاك الله خيرا .... هذا هو المطلوب تماما

واتمنى ان يتم تفعيل الزر الخاص بالخصم .. حتى يكتمل عمل الفورم .

وشكرا جزيلاً مرة اخرى .

تم تعديل بواسطه yousef_kaf
رابط هذا التعليق
شارك

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

كما تفضلت وقلت .. لقد تم عمل المطلوب وزيادة

ولكن أرجو ان يتسع صدرك لهذا الطلب

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

رابط هذا التعليق
شارك

الاخ ابو حنين ... فقط اريد ان اعرف من خلال الكود التالى الذى تفضلت به

ما هو المتغير او الشئ المسؤل عن عدد الاعمدة حتى استطيع تغييرة مستقبلا بالزيادة والنقص

..........................................................................................................................................................

Private Sub ComboBox1_Click()

lr = Sheets(ComboBox3.Text).Cells(Rows.Count, "B").End(xlUp).Row + 1

For s = 1 To lr

TextBox1 = Sheets(ComboBox3.Text).Cells(ComboBox1.ListIndex + 5, 2).Offset(0, -1)

Cells(ComboBox1.ListIndex + 5, 2).Select

Next

End Sub

Private Sub ComboBox2_Click()

lr = Sheets(ComboBox3.Text).Cells(Rows.Count, "B").End(xlUp).Row + 1

For s = 1 To lr

For t = 1 To 10

If Sheets(ComboBox3.Text).Cells(4, t + 6) = ComboBox2.Text Then

If Sheets(ComboBox3.Text).Cells(s + 4, 2) = ComboBox1.Text Then

TextBox10 = Sheets(ComboBox3.Text).Cells(s + 4, t + 6)

End If

End If

Next

Next

End Sub

Private Sub ComboBox2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

TextBox1.Text = "": TextBox2.Text = "": TextBox10.Text = "": TextBox9.Text = ""

End Sub

Private Sub ComboBox3_Click()

lr = Sheets(ComboBox3.Text).Cells(Rows.Count, "B").End(xlUp).Row + 1

If ComboBox3.Text = "ورقة5" Or _

ComboBox3.Text = "موردى الخدمات والاصول الثابتة" Or _

ComboBox3.Text = "ورقة4" Then

ComboBox1.Clear

Exit Sub

End If

For d = 1 To ComboBox1.ListCount

ComboBox1.Clear

Next

Sheets(ComboBox3.Text).Select

For m = 1 To lr

ComboBox1.AddItem Sheets(ComboBox3.Text).Cells(m + 4, 2)

Next

TextBox1.Text = "": TextBox2.Text = "": TextBox10.Text = "": TextBox9.Text = ""

End Sub

Private Sub CommandButton1_Click()

If ComboBox2.Text = "" Or TextBox2.Text = "" Then

MsgBox "قم بإختيار الشهر أولا و المبلغ الذي تريد إظافته أو حذفه ", vbCritical, "خطأ"

Exit Sub

End If

lr = Sheets(ComboBox3.Text).Cells(Rows.Count, "B").End(xlUp).Row + 1

Dim mm As String

mm = MsgBox("هل تريد إظافة مبلغ قدره : " & TextBox2.Value & vbNewLine & "لـ : " & ComboBox1.Text & vbNewLine & "إن كنت متأكدا من ذلك ، فاضعط على نعم", vbInformation + vbMsgBoxRight + vbYesNo, "")

If mm = vbNo Then

Exit Sub

Else

For s = 1 To lr

For t = 1 To 10

If Sheets(ComboBox3.Text).Cells(4, t + 6) = ComboBox2.Text Then

If Sheets(ComboBox3.Text).Cells(s + 4, 2) = ComboBox1.Text Then

Sheets(ComboBox3.Text).Cells(s + 4, t + 6).Value = _

Val(Sheets(ComboBox3.Text).Cells(s + 4, t + 6)) + Val(TextBox2)

End If

End If

Next

Next

CommandButton3.Value = True

End If

End Sub

Private Sub CommandButton2_Click()

If ComboBox2.Text = "" Or TextBox2.Text = "" Then

MsgBox "قم بإختيار الشهر أولا و المبلغ الذي تريد إظافته أو حذفه ", vbCritical, "خطأ"

Exit Sub

End If

lr = Sheets(ComboBox3.Text).Cells(Rows.Count, "B").End(xlUp).Row + 1

Dim mm As String

mm = MsgBox("أنت على وشك حذف مبلغ قدره : " & TextBox2.Value & vbNewLine & "لـ : " & ComboBox1.Text & vbNewLine & "هل تريد المتابعة ؟", vbExclamation + vbMsgBoxRight + vbYesNo, "")

If mm = vbNo Then

Exit Sub

Else

For s = 1 To lr

For t = 1 To 10

If Sheets(ComboBox3.Text).Cells(4, t + 6) = ComboBox2.Text Then

If Sheets(ComboBox3.Text).Cells(s + 4, 2) = ComboBox1.Text Then

Sheets(ComboBox3.Text).Cells(s + 4, t + 6).Value = _

Val(Sheets(ComboBox3.Text).Cells(s + 4, t + 6)) - Val(TextBox2)

End If

End If

Next

Next

CommandButton3.Value = True

End If

End Sub

Private Sub CommandButton3_Click()

lr = Sheets(ComboBox3.Text).Cells(Rows.Count, "B").End(xlUp).Row + 1

For s = 1 To lr

For t = 1 To 10

If Sheets(ComboBox3.Text).Cells(4, t + 6) = ComboBox2.Text Then

If Sheets(ComboBox3.Text).Cells(s + 4, 2) = ComboBox1.Text Then

TextBox9 = Sheets(ComboBox3.Text).Cells(s + 4, t + 6)

End If

End If

Next

Next

End Sub

Private Sub UserForm_Activate()

Dim Art

Art = Array("يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "اغسطس", "سبتمبر", "اكتوبر")

مع ملاحظة ان الشهور هى التى تمثل الاعمدة'

ComboBox2.List = Art

End Sub

Private Sub UserForm_Initialize()

For t = 1 To ThisWorkbook.Sheets.Count

R = Sheets(t).Name

ComboBox3.AddItem R

Next

End Sub

تم تعديل بواسطه yousef_kaf
رابط هذا التعليق
شارك

الأخ يوسف

الكود مرتبط مع بعضه البعض و أي تغيير في شيت البيانات يحدث خللا في الكود و ربما يطول شرحه لكن كمثال فقط لجزئ من الكود :


For t = 1 To 10

' العد 10 مثلا وضع لان الأشهر عددها في ورقة العمل 10 أشهر

'   Array عندما تضيف شهر مثلا عليك أول بإضافته الى

'   UserForm_Activate  مع الاشهر الاخر و بنفس الطريقة في حدث الفورم

' و بعدها يعوض العدد 10 بالعدد 11

If Sheets(ComboBox3.Text).Cells(4, t + 6) = ComboBox2.Text Then

' العدد 4 مثلا في السطر السابق يمثل بداية كتابة البيانات اي من السطر 4

' الحرف تي يمثل عدد الاشهر التي افترضناها

' العدد 6 يمثل بداية العمود الذي إبتدأت منه الأشهر

If Sheets(ComboBox3.Text).Cells(s + 4, 2) = ComboBox1.Text Then

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information