ولو مفيش الاقى حد من الخبراء يقدر يختصر ليا الكود الطويل ده
ده كود بيعتمد استخراج البيانات من زر واحد على حسب المعطيات اللى بيلاقىها
Private Sub CommandButton1_Click()
Dim i As Long
Dim myArray As Variant
Dim x As Long
Dim lr As Long
Dim DATA As Worksheet
On Error Resume Next
''''''''___________________________________________________________
Set DATA = Worksheets("data") 'اسم شيت قاعدة البيانات
lr = DATA.Cells(Rows.count, 4).End(xlUp).Row 'اخر صف به بيانات
myArray = DATA.Range("A2:z" & lr) 'نطاق البحث
ReDim Y(1 To lr, 1 To 15) ' انشاء مصفوفة جديده لحفظ البيانات بها
For x = 1 To lr - 1 ' البحث داخل المصفوفة من الصف الاول حتى اخر صف
'_____________________________________________________________________________________________________________________________________________________________________
If myArray(x, 13) = "1" And myArray(x, 16) <> "" Then '"كود نوع الفاتورة والمقصود هنا فاتورة البيع"
'_____________________________________________________________________________________________________________________________________________________________________
If TextBox1.Value <> "" And TextBox2.Value = "" And ComboBox6.Value = "" _
And ComboBox7.Value = "" And myArray(x, 6) = TextBox1.Value Then '""مبيعات الاسم""
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox2.Value <> "" And TextBox1.Value = "" And ComboBox6.Value = "" _
And ComboBox7.Value = "" And myArray(x, 16) = TextBox2.Value Then '""مبيعات الصنف"
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox2.Value <> "" And TextBox1.Value <> "" And ComboBox6.Value = "" _
And ComboBox7.Value = "" And myArray(x, 16) = TextBox2.Value And myArray(x, 6) = TextBox1.Value Then '""مبيعات الصنف والاسم"
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox2.Value = "" And TextBox1.Value <> "" And ComboBox6.Value = "" _
And myArray(x, 1) = ComboBox7.Value And myArray(x, 6) = TextBox1.Value Then '""الاسم من المخزن"
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox2.Value = "" And TextBox1.Value <> "" And myArray(x, 17) = ComboBox6.Value And myArray(x, 6) = TextBox1.Value Then '""الاسم من النوع"
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox2.Value = "" And TextBox1.Value = "" And ComboBox6.Value <> "" _
And ComboBox7.Value <> "" And myArray(x, 1) = ComboBox7.Value And myArray(x, 17) = ComboBox6.Value Then '"النوع والمخزن"
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox2.Value = "" And TextBox1.Value = "" And ComboBox6.Value = "" _
And ComboBox7.Value <> "" And myArray(x, 1) = ComboBox7.Value Then '""مبيعات من المخزن"
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox2.Value <> "" And TextBox1.Value = "" And ComboBox6.Value = "" And ComboBox7.Value <> "" _
And myArray(x, 16) = TextBox2.Value And myArray(x, 1) = ComboBox7.Value Then '""مبيعات الصنف من المخزن"
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf myArray(x, 17) = ComboBox6.Value And TextBox2.Value = "" And TextBox1.Value = "" _
And ComboBox6.Value <> "" And ComboBox7.Value = "" Then '""مبيعات النوع"
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox1.Value <> "" And TextBox2.Value = "" And ComboBox6.Value <> "" And ComboBox7.Value <> "" _
And myArray(x, 6) = TextBox1.Value And myArray(x, 17) = ComboBox6.Value And myArray(x, 1) = ComboBox7.Value Then '""الاسم والنوع من المخزن "
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox1.Value <> "" And TextBox2.Value <> "" And ComboBox6.Value = "" And ComboBox7.Value <> "" _
And myArray(x, 1) = ComboBox7.Value And myArray(x, 16) = TextBox2.Value And myArray(x, 6) = TextBox1.Value Then '""الاسم والصنف من المخزن "
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
ElseIf TextBox1.Value = "" And TextBox2.Value = "" And ComboBox6.Value = "" And ComboBox7.Value = "" Then '""المبيعات "
rw = rw + 1
Y(rw, 1) = rw '"المسلسل"
Y(rw, 2) = Format(myArray(x, 4), "dddd") '"اليوم"
Y(rw, 3) = Format(myArray(x, 4), "dd-mm-yyyy") '"التاريخ"
Y(rw, 4) = Format(myArray(x, 14), "hh:mm:ss AM/PM") '"الساعة"
Y(rw, 5) = myArray(x, 5) '"المدخل"
Y(rw, 6) = myArray(x, 6) '"الاسم"
Y(rw, 7) = myArray(x, 10) '"كود الفاتوره"
Y(rw, 8) = myArray(x, 11) '"رقم الفاتوره"
Y(rw, 9) = myArray(x, 12) '"نوع الفاتورة"
Y(rw, 10) = myArray(x, 1) '"المخزن"
Y(rw, 11) = myArray(x, 17) '"نوع الصنف"
Y(rw, 12) = myArray(x, 16) '"اسم الصنف"
Y(rw, 13) = myArray(x, 18) '"الكميه"
Y(rw, 14) = myArray(x, 19) '"السعر"
Y(rw, 15) = myArray(x, 20) '"االقيمه"
End If
'__________________________________________________________________________________________________________________________________________________________________________________________
If TextBox4.Value <> "" Then
If myArray(x, 4) > CDate(TextBox4.Value) Then: Exit For
End If
End If
'__________________________________________________________________________________________________________________________________________________________________________________________
Next x
If rw > 0 Then
listfind.AddItem
listfind.list = Y()
rw = 0
End If
End Sub