• 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.

Rijen verwijderen/verplaatsen op basis van vergelijking

Status
Niet open voor verdere reacties.

NiekvanMeer

Gebruiker
Lid geworden
30 sep 2013
Berichten
123
Beste,

In kolom A haal ik data op uit een folder via een vba code.
In kolom B haal ik data uit een ander excel bestand.

Kolom A geeft 'ordernummers' weer, genoteerd als .pdf, doordat deze uit een map gehaald worden.
Kolom B geeft 'ordernummers' weer, genoteerd zonder .pdf, doordat deze uit een excel bestand gehaald worden.

Nu is het de bedoeling dat deze 2 kolommen continue met elkaar vergeleken worden
Zodra dat er een 'ordernummer' in kolom A verschijnt die hetzelfde is als een 'ordernummer' in kolom B, moet deze hele rij verplaatst worden naar blad2.
(en dus weggehaald worden van blad1

Weet iemand raad?
 
Plaats eens een voorbeeldje van jouw bestand inclusief de code die je gebruikt om het eea in kolom A en B te krijgen. Het vergelijken van iets dat op .pdf eindigt en iets dat er niet op eindigt lijkt mij niet zo heel moeilijk.

=als(links(kolomA,lengte(kolom(A)-4)=kolom(B) dan doe iets. Kan je natuurlijk ook aanpassen naar een zoekfunctie.
 
Laatst bewerkt:
Is het daarbij A2 en B2 vergelijken, A3 en B3 enz. óf als de waarde van A2 ergens in kolom B voorkomt.
In dat laatste geval, wat bedoel je met rij verwijderen? Als A2 ergens in B voorkomt en we verwijderen rij 2, dan ben je referentie B2 kwijt die misschien nog elders in kolom A kan voorkomen. Lijkt me niet handig en de bedoeling.
 
Hoi Gonzo,

Het gaat over als de waarde van A2/A3/A4 etc in kolom B voorkomt moet de gehele rij weg.
Kolom wordt met de macro elke 15 minuten ververst. Hierdoor komen de verwijderde 'ordernummers' gewoon weer terug in kolom A; in kolom verdwijnen deze dus (inclusief alles in dezelfde rij)
Alles in kolom A komt maar 1x voor en moet dus uit kolom B verdwijnen.
 
Dus waar bijv. Cel A11 matcht met B559, dan kan gehele rij 559 in de prullenbak als ik het goed begrijp.

Wat ik nu heb verwijderd alleen cel B559 maar dat is denk ik makkelijk aan te passen naar een rij
Code:
Sub gonzo31()

Dim vSearch As String, iSearch As Long, iRows As Integer, r As Range, x As Variant

Set r = Columns("A:A")
iRows = Application.WorksheetFunction.CountA(r)

For i = 2 To iRows
    iSearch = Len(Cells(i, 1)) - 4
    vSearch = Left(Cells(i, 1), iSearch)
    x = Application.Match(vSearch, Range("B:B"))
    
    If Not IsError(x) Then
        Cells(x, 2).Delete
    End If
    
Next i

End Sub
Dit zal dan iets worden ipv. Cells(x, 2).Delete veranderen naar rows(x).delete of iets in die order.

Succes er mee!

ps. er komt nog een foutmelding uit want blijkbaar kijkt CountA ook naar formules. Er is vast een count die uitzoekt of de waarde anders is dan 0 maar ik zit met tijd gebrek...
 
Laatst bewerkt:
Inderdaad een fout weergave Gonzo!
Zou het misschien simpeler zijn om op basis van kleurherkenning te werken?
Wanneer in Kolom B eenzelfde waarde komt als in Kolom A dan cel groen ofzo laten kleur en dan in de vba code zetten dat de rij met een groene cel verwijderd moet worden?
Ik heb eerlijk gezegd geen idee :)
Hopelijk weten jullie raad!
 
Een toevoeging:
Ik heb nu een code gevonden die kolom B met kolom A vergelijkt en dan in kolom C de unieke bestanden weergeeft.
Dit heb ik getest in een nieuw bestand, maar in mijn geüpload bestandje, waarin de data uit een map getrokken wordt, werkt het niet?
Heeft iemand een idee waarom niet?

Code:
Sub kolomcheck()
Dim lRij As Long
Dim lSRij As Long
    lRij = 1
    lSRij = 1
    While Range("B" & lRij).Value <> ""
        Set Order = Range("A:A").Find(Range("B" & lRij).Value, LookIn:=xlValues, Lookat:=xlPart)
        If Order Is Nothing Then
            Range("C" & lSRij).Value = Range("B" & lRij).Value
            lSRij = lSRij + 1
        End If
        lRij = lRij + 1
    Wend
End Sub
 
Wat ik vreemd vind is dat het wel werkt wanneer ik kolom A uit type. (reeks getallen met .pdf in kolom A vs. reeks getallen zonder .pdf)
Wanneer de lijst geüpload wordt naar kolom A dan vergelijkt hij niks..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan