Correspondance / recherche de lignes dans différentes feuilles [fermé]


0

J'ai 2 feuilles avec des colonnes comme le marchand, la quantité, les données, etc. La chose 100% commune entre les deux feuilles est la quantité. Je veux faire correspondre / trouver les lignes des feuilles 1 et 2 qui contiennent le même montant. Dans l'une des feuilles, j'ai plus de données que dans l'autre. Ainsi, par exemple, la 3ème ligne de la feuille 1 ne correspond pas à la 3ème ligne de la feuille 2. D'une manière ou d'une autre, je dois chercher après le montant.


Alors, quelle feuille de travail a le plus? Ou est-ce différent? Le montant peut-il être répété plusieurs fois? Comment voulez-vous que les résultats soient affichés? Votre question laisse beaucoup de détails :( S'il vous plaît éditez votre question Et pour que ce soit plus clair, cela nous aidera à comprendre :)
Dave

Réponses:


0

Cela devrait le faire, mais votre question est très vague :(

Sub FindTheThings()

Dim resultRow As Integer
resultRow = 2

Dim currentRow As Integer
currentRow = 2

Worksheets("Sheet3").Range("A1").Value = "Sheet1 row"
Worksheets("Sheet3").Range("B1").Value = "Sheet2 row"

Do While (Worksheets("Sheet1").Range("B" & currentRow).Value <> "")

Dim amount As String
amount = Worksheets("Sheet1").Range("B" & currentRow).Value

Dim currentRowSheet2 As String
currentRowSheet2 = 2

    Do While (Worksheets("Sheet2").Range("B" & currentRowSheet2).Value <> "")

        Dim sheet2amount As String
        sheet2amount = Worksheets("Sheet2").Range("B" & currentRowSheet2).Value

        If (sheet2amount = amount) Then

            Worksheets("Sheet3").Range("A" & resultRow).Value = currentRow
            Worksheets("Sheet3").Range("B" & resultRow).Value = currentRowSheet2

            resultRow = resultRow + 1
            Exit Do
        End If

    currentRowSheet2 = currentRowSheet2 + 1
    Loop
currentRow = currentRow + 1

Loop

End Sub

Il y a des défauts, tels que ce qui se passe s'il y a plusieurs occurrences du montant, ce qui se passe si les données de la feuille 1 ont plus ou moins de valeurs que celles de la feuille 2, comment l'information doit être présentée, etc.

Indépendamment de cela, le VBA devrait vous aider car il peut être peaufiné

Feuille 1

enter image description here

Feuille 2

enter image description here

Feuille 3 (créée après l'exécution de la macro)

enter image description here


-1

=VLOOKUP(B1,Sheet1!$A$1:$B$28,2,0) trouve la première instance.

=COUNTIF(Sheet1!$A:$A,Sheet2!B2) indique s'il y a plus que par exemple.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.