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

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

قام بنشر

اخي الفاضل نكمل خطوة خطوة وان شاء الله سوف يتم المطلوب اولا هل هدا هو الشكل النهائي لليوزرفورم

تم ترتيب الاعمدة على حسب ما جاء في الشرح داخل الملف وادا كان هناك تغيير اشر اليه

110217227.png

  • Like 1
قام بنشر

تفضل اخي جرب

'Option Explicit
Private Sub ComboBox1_Change()
Sheet2.Range("s1") = ComboBox1.Text
TextBox1.Value = Sheets("المبيعات").Range("R1").Value
Dim a
Dim i As Long
Me.ComboBox1.Text = StrConv(Me.ComboBox1.Text, vbProperCase)
Me.ListBox1.Clear
For Each ws In ActiveWorkbook.Sheets
    With ws
        For i = 5 To Application.WorksheetFunction.CountA(.Range("b:b"))
            a = Len(Me.ComboBox1.Text)
            If Left(.Cells(i, 8).Value, a) = Left(Me.ComboBox1.Text, a) Then
                Me.ListBox1.AddItem .Cells(i, 1).Value
                Me.ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(i, 2).Value
                Me.ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(i, 3).Value
                Me.ListBox1.List(ListBox1.ListCount - 1, 3) = .Cells(i, 5).Value
                Me.ListBox1.List(ListBox1.ListCount - 1, 4) = .Cells(i, 6).Value
                Me.ListBox1.List(ListBox1.ListCount - 1, 5) = .Cells(i, 8).Value
                Me.ListBox1.List(ListBox1.ListCount - 1, 6) = .Cells(i, 9).Value
    
            End If
        Next i
    End With
Next ws
End Sub

''''''''''''''''''''
Private Sub CommandButton1_Click()
Dim z As Control
For Each z In UserForm1.Controls
If TypeName(z) = "TextBox" Then
z.Value = ""
ListBox1.Clear
End If
Next z
End Sub

''''''''''''''''''''
Private Sub CommandButton2_Click()
Dim ctl As Control
    For Each ctl In Me.Controls
        Select Case TypeName(ctl)
        Case "ComboBox", "TextBox"
        ctl.Text = ""
        End Select
    Next ctl
End Sub

''''''''''''''''''''
Private Sub Exitbutton_Click()
   UserForm1.Hide
End Sub

AAAAA.xlsm

  • Like 1
  • أفضل إجابة
قام بنشر

تفضل اخي لاكن الترتيب حسب اوراق العمل تم اضافة الاكواد التالية

كود لترتيب التاريخ من الاصغر للاكبر يتم تفعيله تلقائيا عند الدخول على اليوزفورم. 

Sub MH_sort()
Dim ws As Worksheet
Application.ScreenUpdating = False
Dim LR As Long
For Each ws In ThisWorkbook.Worksheets
   LR = ws.Range("b" & ws.Rows.Count).End(xlUp).Row
   If (ws.Name <> "Database") Then
With ws.Sort
    .SortFields.Clear
    .SortFields.Add2 Key:=ws.Range("e5"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    .SetRange ws.Range("b4:L" & LR)
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
End If
Next ws
Sheets("المبيعات").Activate
Range("A1").Select

 وهدا لالغاء الفراغ الموجود في  ComboBox1

Private Sub UserForm_Initialize()
Dim I As Integer
    With Sheets("Database")
       For r = 2 To .Range("c" & .Rows.Count).End(xlUp).Row
            If .Range("c" & r) <> "" Then
                ComboBox1.AddItem .Range("c" & r)
            End If
        Next r
        End With
End Sub

AAAAA.xlsm

  • Like 2
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information