VBA om waarden uit file in andere file te zoeken

Status
Niet open voor verdere reacties.

Orcaa

Gebruiker
Lid geworden
1 nov 2010
Berichten
125
Wil in excel met VBA iets maken waarmee ik waarden uit een csvfile opzoek in een andere csv file en hier dan de bijbehorende waarden in een nieuwe csv file zetten.
Ter verduidelijking:
een file invoer.csv met
appel, rood
appel, roodgeel
appel, roodgroen
appel, groen

dan een file datakast.csv waar de gegevens allemaal in staan met
fruit kleur plaats verpakking
peer, rood ,schap ,kist
appel, roodgeel ,schuur ,kist
peer, roodgroen,schuur ,krat
appel, groen, schap ,krat
appel, rood, schap ,doos
peer, roodgeel ,schuur ,kist
mango, roodgroen,schuur, doos
mango, groen, schap ,doos
mango, rood, schap, krat


Nu wil ik dus bv uit file invoer.csv de eerste waarden appel, rood, opzoeken in file datakast.csv en dan de waarden appel, rood, schap en doos in een nieuwe csv file selectie.csv opslaan.

Kan iemand mij hiermee helpen?
Heb de voorbeeld files erbij gedaan

alvast bedankt
 

Bijlagen

Code:
Sub tst()
    With CreateObject("scripting.filesystemobject")
        sn = Split(.opentextfile("G:\OF\invoer.txt").readall, vbCrLf)
        sq = Split(CreateObject("scripting.filesystemobject").opentextfile("G:\OF\datakast.txt").readall, vbCrLf)
    
        .createtextfile("G:\OF\resultaat").write Filter(Filter(sq, Split(sn(0), ",")(0)), Split(sn(0), ",")(0))(0)
    End With
End Sub
 
Dank je voor de snelle reaktie

Maar het resultaat is niet wat het moet zijn.
Nu bevat de file resultaat.txt de maar 1 regel met volgende inhoud
appel,roodgeel,schuur,kist



maar dit zou het volgende moeten zijn als je de file invoer.txt bekijkt:
appel,rood,schap,doos
appel,roodgeel,schuur,kist
appel,groen,schap,krat

Ook zou het mooi zijn als de waarde die niet gevonden wordt in aparte file zou komen met naam van bv Nietaanwezig.txt en zou dan moeten bevatten:
appel,roodgroen

Zou u mij daar nog mee kunnen helpen

Alvast bedankt
 
Je kunt ook zelf een beetje met de geboden suggestie gaan knutselen....(conform de naam van dit forum)
 
Zou dat best willen doen, maar heb nu wat zitten googlen, maar moet eerlijk zijn dat ik het vb scrit van u niet helemaal begrijp en daardoor ook moeilijk is om het op de goede manier aan te passen.
Denk eruit te begrijpen dat de waarden uit de file invoer.txt in de variabele "sn" komen te staan, en dat in "sq"de afzonderlijke waarden uit de file datakast.txt komen te staan.
Maar dacht dat er dan een soort index zou zijn voor iedere waarde die ingelezen is in de variabele "sn" en in "sq". En dat er een soort vergelijk zou zijn of die twee waarden hetzelfde zouden zijn en dan weggeschreven zouden worden in nieuwe file.

De warrden in de file resultaat.txt kan ik niet verklaren omdat ik de code niet snap. Had verwacht dat als eerste de waarden voor de eerste regel uit de invoer.txt file verwacht, nml. appel, rood

Hopenlijk kunt u mij toch een stapje verder helpen. Heb ook al geprobed met een loop eromheen te zetten, maar geeft ook dan hetzelfde resultaat
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan