طارق نادر قام بنشر أبريل 23, 2017 قام بنشر أبريل 23, 2017 (معدل) اخواني ارفق كود للبحث واريد ان يبحث في صفحتين اسماء الصفحات موجودة في الكود ولكنه يبحث فقط في الصفحة التي اسمها (المدراء) ويتجاهل الصفحة التي اسمها (البيانات) 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 تم تعديل أبريل 23, 2017 بواسطه n_tareq
سليم حاصبيا قام بنشر أبريل 23, 2017 قام بنشر أبريل 23, 2017 (معدل) الخطأ واضح عي بداية الكود انت أعطيت اسم واحد لصفحتين مختلفتين (اكسل هنا يأخذ الاسم على اساس الصفحة الثانية) قم بتسمبة الصفحة الاولى Ws1 مثلا والثانية Ws2 وكذلك LasteRow2 LasteRow1 تم تعديل أبريل 23, 2017 بواسطه سليم حاصبيا 1
طارق نادر قام بنشر أبريل 23, 2017 الكاتب قام بنشر أبريل 23, 2017 (معدل) حسب فهمي لكلامك عملت الكود على الشكل التالي ولم يستجيب ارجو منك معرفة الخطأ الذي وقعت فيه 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 تم تعديل أبريل 23, 2017 بواسطه n_tareq
حمادة عمر قام بنشر أبريل 23, 2017 قام بنشر أبريل 23, 2017 السلام عليكم الاخ الكريم /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 ارجو ان اكون قد وضحت لكم المطلوب وان لم يتتضح .. فبرجاء ارسال ملف مرفق كمثال ليتم العمل العمل عليه تقبل خالص تحياتي 2
طارق نادر قام بنشر أبريل 23, 2017 الكاتب قام بنشر أبريل 23, 2017 اخي الكريم اشكر جهودك ولكن لم يحدث التغيير المطلوب لذلك ارفق لك الملف لكي تكون الصورة اوضح لك علما باني اجريت التعديلات التي طلبتها الرقم السري هو tareq972708 2017صيفية برمجية استعلام.rar
حمادة عمر قام بنشر أبريل 23, 2017 قام بنشر أبريل 23, 2017 يرجي اخي الكريم عدم تكرار الطلب في اكثر من موضوع رابط الموضو ع 1
الردود الموصى بها