Trouver les Valeurs dans un tableau avec les valeurs des doublons
J'ai un tableau de noms de clients. Ce tableau est plein de doublons, et doit être, car d'autres données dans la ligne de l'ordre peut varier. Il n'y a pas d'identificateurs uniques pour ce type de données et j'ai besoin de comparer les données d'une ordonnance à l'encontre de toutes les lignes qui ont le client dans le tableau.
Je vais avoir du mal à obtenir la boucle for à la recherche de toutes les lignes qui ont un client de match.
Toute aide serait appréciée!
Dim prodlog As String
Dim orddate As Variant
Dim cus As String
Dim owner As String
Dim orddate2 As Variant
Dim owner2 As String
Dim LogCusts As Variant
LogCusts = Application.Transpose(Range("F3", Range("F" & Rows.count).End(xlUp)))
Dim loglen As Integer
loglen = UBound(LogCusts) - LBound(LogCusts)
Dim cust2 As Variant
For Each cust2 In LogCusts
Dim custrow As Integer
custrow = Application.Match(cust2, LogCusts, False) + 1
prodlog = Range(Cells(custrow, 5), Cells(custrow, 5)).Value
orddate = Range(Cells(custrow, 2), Cells(custrow, 2)).Value
cus = Range(Cells(custrow, 6), Cells(custrow, 6)).Value
owner = Range(Cells(custrow, 7), Cells(custrow, 7)).Value
databook.Activate
logjam.Select
orddate2 = Range(Cells(custrow + 1, 5), Cells(custrow + 1, 5)).Value
owner2 = Range(Cells(custrow + 1, 7), Cells(custrow + 1, 7)).Value
If IsEmpty(orddate) Then
Exit For
End If
If IsEmpty(prodlog) Then
trackbook.Activate
masterlog.Select
Range(Cells(custrow, 2), Cells(custrow, 17)).Clear
Else: While cus = cust2
If orddate = orddate2 And owner = owner2 Then
Range(Cells(custrow, 8), Cells(custrow, 8)).Value = prodlog
End If
Wend
End If
Next cust2
- Voici une méthode à l'aide d'un Script.De dictionnaire: stackoverflow.com/a/11870350/2258
Vous devez vous connecter pour publier un commentaire.
Il ya un couple de façons de le faire ce que vous voulez faire. Le plus simple est probablement d'utiliser un dictionnaire comme @Richard Morgan suggère dans son commentaire, à vous.
Vous pouvez également parcourir le tableau et créer un nouveau tableau avec juste les noms corrects.
Exemple De Code:
Encore une fois, je pense que l'utilisation d'un dictionnaire est sans doute mieux, mais cela devrait fonctionner.
Wow qui semble si compliqué, avez-vous essayé de créer une table à côté de votre tableau et utiliser la formule:
qui permettra d'afficher
Duplicates
si il y a un double affichage et deNo Duplicates
si il n'y est pas. à partir de A2-A11 bien sûr.Ou de garder les choses simples que vous pouvez utiliser la mise en forme conditionnelle, tapez quelque chose comme
pour les objets de valeurs qui n'apparaissent qu'une fois. vous pouvez légèrement modifier pour obtenir un schéma de couleurs de votre tableau. Puis jetez-la en une Touche sur le côté qui indique de quelle couleur sont les moyens de la façon dont de nombreux doublons.
Ne sais pas si ça aide, mais j'essaie de tenir à l'écart à partir de VBA quand je peux.