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

اختيار اسم المقاطعة في حالة تكرار الرقم


tahar

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

عندي ارقام واسماء مقاطعات وجهة مقاطهة  اريد عند اختيار رقم مقاطعة وعند تكرار رقم يقوم باخراج قائمة منسدلة لاختيار اسم المقاطعة ومن ثم ياتي بالنتائج  وفي حالة رقم غير مكرر ياتي بالنتائج عادي

لا داعى اضغط الملف طالما مساحته صغيره

 

ray.xlsx

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

السلام عليكم 

اكتب الرقم في العمود F

الكود

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Dim districtNumber As String
    Dim count As Integer
    Dim districtList As String
    Dim cell As Range
    Dim districtArray() As String
    Dim i As Integer
    Dim selectedDistrict As String
    
    Set ws = ThisWorkbook.Sheets("Feuil2")
    
    If Not Intersect(Target, ws.Range("F5:F" & ws.Cells(ws.Rows.count, "F").End(xlUp).Row)) Is Nothing Then
        districtNumber = CStr(Target.Value)
        
        If districtNumber <> "" Then
            count = Application.WorksheetFunction.CountIf(ws.Range("A2:A500"), districtNumber)
            
            If count > 1 Then
                districtList = ""
                For Each cell In ws.Range("A2:A" & ws.Cells(ws.Rows.count, "A").End(xlUp).Row)
                    If cell.Value = districtNumber Then
                        If districtList = "" Then
                            districtList = ws.Cells(cell.Row, "B").Value
                        Else
                            districtList = districtList & "," & ws.Cells(cell.Row, "B").Value
                        End If
                    End If
                Next cell
                
                districtArray = Split(districtList, ",")
                
                With UserForm1.ListBox1
                    .Clear
                    For i = LBound(districtArray) To UBound(districtArray)
                        .AddItem districtArray(i)
                    Next i
                End With
                
                UserForm1.Show
                
                If UserForm1.ListBox1.ListIndex <> -1 Then
                    selectedDistrict = UserForm1.ListBox1.Value
                Else
                    selectedDistrict = ""
                End If
                
                Target.Offset(0, 1).Value = selectedDistrict
            Else
                For Each cell In ws.Range("A2:A" & ws.Cells(ws.Rows.count, "A").End(xlUp).Row)
                    If cell.Value = districtNumber Then
                        Target.Offset(0, 1).Value = ws.Cells(cell.Row, "B").Value
                        Exit For
                    End If
                Next cell
            End If
        End If
    End If
End Sub

 

الملف

اسم المقاطعة.xlsb

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

وعليكم السلام 

دالة recherchv  لا اجيدها  واعتقد انها فرنسية ولكن قمت بحل اخر  وان لم  يكن مناسبا لك قم بفتح موضوع جديد واطلب فيه دالة recherchv  وستجد من الخبراء من يقوم بذلك

تحياتي

اسم المقاطعة.xlsb

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

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

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



سجل دخولك الان
×
×
  • اضف...

Important Information