• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

sorteren en vergelijken

Status
Niet open voor verdere reacties.

technico

Gebruiker
Lid geworden
25 apr 2005
Berichten
20
opbouw
kolom A bevat woorden - kolom B (prijs van toestel in kolom A) - kolom C woorden - kolom D (prijs van toestel in kolom C)
zijn +- 2000 regels
Kolom A moet vergeleken worden met Kolom C
Als deze gelijk zijn dan moet A-B-C-D op 1 regel te komen staan
als A niet gelijk is aan C dan moet de cel in Kolom C en D leeg zijn
en cel in kolom A en B leeg blijven als hij voor C geen gelijkheid vindt.

groeten
 
als A niet gelijk is aan C dan moet de cel in Kolom C en D leeg zijn
en cel in kolom A en B leeg blijven als hij voor C geen gelijkheid vindt.

Wat is het verschil?
Betekent dat ook de waardes van A in de C-kolom moet worden gezocht of alleen maar op dezelfde rij?

Met vriendelijke groet,


Roncancio
 
Zo zou het kunnen. De gegevens worden in de kolommen G, H,I en J geplaatst.
Code:
Sub Sorteren()
Dim lRij As Long
Dim lsRij As Long
    lRij = 1
    lsRij = 1
    While Worksheets(1).Range("A" & lRij) <> ""
        With ActiveSheet.Range("C1:C1000")
            Set A = .Find(Range("A" & lRij).Value, LookIn:=xlValues, Lookat:=xlPart)
            If Not A Is Nothing Then
                Range("G" & lsRij).Value = Worksheets(1).Range("A" & lRij)
                Range("H" & lsRij).Value = Worksheets(1).Range("B" & lRij)
                Range("I" & lsRij).Value = Worksheets(1).Range("C" & A.Row)
                Range("J" & lsRij).Value = Worksheets(1).Range("D" & A.Row)
            Else
                Range("G" & lsRij).Value = Worksheets(1).Range("A" & lRij)
                Range("H" & lsRij).Value = Worksheets(1).Range("B" & lRij)
            End If
            lsRij = lsRij + 1
            lRij = lRij + 1
        End With
    Wend
    lRij = 1
    While Worksheets(1).Range("C" & lRij) <> ""
        With Range("A:A")
            Set A = .Find(Worksheets(1).Range("C" & lRij), LookIn:=xlValues, Lookat:=xlWhole)
            If A Is Nothing Then
                Range("I" & lsRij).Value = Worksheets(1).Range("C" & lRij)
                Range("J" & lsRij).Value = Worksheets(1).Range("D" & lRij)
                lsRij = lsRij + 1
            End If
            lRij = lRij + 1
        End With
    Wend

End Sub

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan