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

كود البحث في صفحتين هل هذا ممكن


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

اخواني ارفق كود للبحث واريد ان يبحث في صفحتين اسماء الصفحات موجودة في الكود ولكنه يبحث فقط في الصفحة التي اسمها (المدراء) ويتجاهل الصفحة التي اسمها (البيانات)

Private Sub CommandButton1_Click()
On Error Resume Next

Dim i As Integer, LastR As Long, ws As Worksheet
Set ws = ThisWorkbook.Sheets("البيانات")
Set ws = ThisWorkbook.Sheets("المدراء")

LastRow = ws.Cells(Rows.Count, "B").End(xlUp).Row + 1

For i = 2 To 15
UserForm1.ComboBox1.Clear
For T = 2 To LastRow

If OptionButton1.Value = True Then
        
    If TextBox1.Text = Mid(ws.Cells(T, 2).Text, 1, Len(TextBox1.Text)) Then
        UserForm1.ComboBox1.AddItem ws.Cells(T, 3)
        UserForm1.Controls("TextBox" & i).Value = ws.Cells(T, i).Value
        UserForm1.CommandButton4.Enabled = True
        Unload Me
    End If
Else
If OptionButton2.Value = True Then
        If TextBox1.Text = Mid(ws.Cells(T, 3).Text, 1, Len(TextBox1.Text)) Then
        UserForm1.ComboBox1.AddItem ws.Cells(T, 3)
        UserForm1.Controls("TextBox" & i).Value = ws.Cells(T, i).Value
        UserForm1.CommandButton4.Enabled = True
        Unload Me
        End If
End If
End If
Next
Next
UserForm1.ComboBox1.ListIndex = 0

If UserForm1.TextBox2.Text = "" Then MsgBox "åÐÇ ÇáãæÙÝ ÛíÑ ãæÌæÏ", vbInformation + vbMsgBoxRight, "äÊíÌÉ ÇáÈÍË"
UserForm1.CommandButton3.Enabled = False
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub Label1_Click()

End Sub

Private Sub Label2_Click()

End Sub

Private Sub OptionButton1_Click()
TextBox1.Enabled = True
TextBox1.SetFocus
End Sub
Private Sub OptionButton2_Click()
TextBox1.Enabled = True
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
If TextBox1.Text = "" Then
CommandButton1.Enabled = False
Else
CommandButton1.Enabled = True
End If
End Sub

 

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

الخطأ واضح عي بداية الكود

انت أعطيت اسم واحد لصفحتين مختلفتين (اكسل هنا يأخذ الاسم على اساس الصفحة الثانية)

قم بتسمبة الصفحة الاولى Ws1 مثلا  والثانية  Ws2

 وكذلك LasteRow2     LasteRow1

تم تعديل بواسطه سليم حاصبيا
  • Like 1
رابط هذا التعليق
شارك

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

Private Sub CommandButton1_Click()
On Error Resume Next

Dim i As Integer, LastR As Long, ws As Worksheet
Set ws1 = ThisWorkbook.Sheets("البيانات1")
Set ws2 = ThisWorkbook.Sheets("البيانات2")

LastRow1 = ws.Cells(Rows.Count, "B").End(xlUp).Row + 1
LastRow2 = ws.Cells(Rows.Count, "B").End(xlUp).Row + 1

For i = 2 To 17
UserForm1.ComboBox1.Clear
For T = 2 To LastRow

If OptionButton1.Value = True Then
        
    If TextBox1.Text = Mid(ws.Cells(T, 2).Text, 1, Len(TextBox1.Text)) Then
        UserForm1.ComboBox1.AddItem ws.Cells(T, 3)
        UserForm1.Controls("TextBox" & i).Value = ws.Cells(T, i).Value
        UserForm1.CommandButton4.Enabled = True
        Unload Me
    End If
Else
If OptionButton2.Value = True Then
        If TextBox1.Text = Mid(ws.Cells(T, 3).Text, 1, Len(TextBox1.Text)) Then
        UserForm1.ComboBox1.AddItem ws.Cells(T, 3)
        UserForm1.Controls("TextBox" & i).Value = ws.Cells(T, i).Value
        UserForm1.CommandButton4.Enabled = True
        Unload Me
        End If
End If
End If
Next
Next
UserForm1.ComboBox1.ListIndex = 0

If UserForm1.TextBox2.Text = "" Then MsgBox "هذا الموظف غير موجود", vbInformation + vbMsgBoxRight, "نتيجة البحث"
UserForm1.CommandButton3.Enabled = False
End Sub

 

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

السلام عليكم

الاخ الكريم /n_tareq

بارك الله فيك

بعد اذن اخي الحبيب / سليم حاصبيا .. جزاه الله خيرا

انت قمت فعلا بتنفيذ ما اخبرك به من تعديل اسماء الشيتات ولكنك تجاهلت اسم هذه الشيتات في باقي الكود

وبذلك تصبح التعديلات في الكود كما يلي :

** بدلا من السطر التالي للمتغيرات ..

Dim i As Integer, LastR As Long, ws As Worksheet

سنضيف به المتغير الآخر وهو الورقة الثانية او الشيت الثاني كما هو في السطر التالي

Dim i As Integer, LastR As Long, ws, ws1 As Worksheet

** السطرين التاليين

Set ws = ThisWorkbook.Sheets("البيانات")
Set ws = ThisWorkbook.Sheets("المدراء")

سيتم تغييرهم تبعا للمتغيرات التي قمت بوضعهم في الجزئية السابقة كما يلي :

Set ws = ThisWorkbook.Sheets("البيانات")
Set ws1 = ThisWorkbook.Sheets("المدراء")

** ثم جزئية آخر صف .. سيتم تغيير او اضافة للصف التالي

LastRow = ws.Cells(Rows.Count, "B").End(xlUp).Row + 1

كما هو يلي

LastRow = ws.Cells(Rows.Count, "B").End(xlUp).Row + 1
LastRow1 = ws1.Cells(Rows.Count, "B").End(xlUp).Row + 1

وبالتالي ستقوم بعمل حلقة تكرارية .. لكل منهما  .. لتكن مثلا S مثل T ولكن مع  LastRow1  ..

ثم يظل الجزء الاول في الكود والخاص بتفعيل عمل المطلوب في حالة اختيار   OptionButton1  كما هو بدون تعديل

ثم يتم تغيير الجزء الخاص بتفعيل عمل المطلوب من الكود في حالة اختيار OptionButton2 كالتالي

If OptionButton2.Value = True Then
        If TextBox1.Text = Mid(ws1.Cells(S, 3).Text, 1, Len(TextBox1.Text)) Then
        UserForm1.ComboBox1.AddItem ws1.Cells(S, 3)
        UserForm1.Controls("TextBox" & i).Value = ws1.Cells(S, i).Value
        UserForm1.CommandButton4.Enabled = True
        Unload Me
        End If

ارجو ان اكون قد وضحت لكم المطلوب

وان لم يتتضح .. فبرجاء ارسال ملف مرفق كمثال ليتم العمل العمل عليه

تقبل خالص تحياتي

 

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

اخي الكريم اشكر جهودك ولكن لم يحدث التغيير المطلوب لذلك ارفق لك الملف لكي تكون الصورة اوضح لك علما باني اجريت التعديلات التي طلبتها

الرقم السري هو tareq972708

2017صيفية برمجية استعلام.rar

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

يرجي اخي الكريم عدم تكرار الطلب في اكثر من موضوع

رابط الموضو ع

 

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

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

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

Important Information