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

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

  • أفضل إجابة
قام بنشر (معدل)

 وعليكم السلام ورحمة الله تعالى وبركاته

جرب هل هدا ما تقصده

Sub SansDoublons()
    Dim dict As Object, tmp As Variant
    Dim cell As Range, i As Long
    
    Dim f As Worksheet: Set f = Sheets("Sheet1")
    Dim WS As Worksheet: Set WS = Sheets("Sheet2")
 
 Application.ScreenUpdating = False
 Set dict = CreateObject("Scripting.Dictionary")
    For Each cell In f.Range("b5:b100")
    If Len(cell.Value) > 0 And Not dict.exists(cell.Value) Then
        dict.Add cell.Value, Nothing
    End If
    Next cell
        If dict.Count > 0 Then
        WS.Range("b5:b100").ClearContents
        tmp = dict.Keys
                For i = LBound(tmp) To UBound(tmp)
            WS.Cells(i + 5, 2).Value = tmp(i)
        Next i
    End If
Application.ScreenUpdating = True
End Sub

لتشغيل الماكرو تلقائيا عند الغيير في عمود (b) ورقة 1  في حدث Sheet1

 


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("b5:b100")) Is Nothing Then
        SansDoublons
    End If
End Sub

 

نقل القيم بدون تكرار.xlsb

تم تعديل بواسطه محمد هشام.
  • Like 4
  • Thanks 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information