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

Vlookup macro

Status
Niet open voor verdere reacties.

oneilboy

Gebruiker
Lid geworden
7 jun 2019
Berichten
38
Hoi,

kan iemand me helpen, hij moet namelijk wat in kolom A in file lijst 2 zoeken in de file lijst 1 en dan de letter die ernaast staat in kolom B van de file lijst 2 zetten.

zie bijlages
 

Bijlagen

Met beide bestanden in dezelfde map.

Code:
Sub VenA()
  With GetObject(ThisWorkbook.Path & "\Lijst 1.xlsx")
    ar = .Sheets(1).Cells(1).CurrentRegion
    .Close 0
  End With
  ar1 = Sheets("Sheet1").Cells(1).CurrentRegion.Resize(, 2)
  For j = 1 To UBound(ar1)
    For jj = 1 To UBound(ar)
      If ar1(j, 1) = ar(jj, 1) Then
        ar1(j, 2) = ar(jj, 2)
        Exit For
      End If
    Next jj
  Next j
  Sheets("Sheet1").Cells(1).CurrentRegion.Resize(, 2) = ar1
End Sub
 
Hoi,

is het mogelijk er ook wat uitleg bij te geven van welke lijn wat doet, want als ik die ooit moet aanpassen dat ik weet wat ik moet aanpassen :-)
 
VenA,

kan jij ook aub wat uitleg geven bij de regels innuw macro wat die juist doen?
 
Als je iets via een macro wilt laten lopen terwijl het niet echt nodig is dan zal je zelf wat onderzoek moeten doen. Daarnaast heb je in een ander draadje een veel complexere macro gekregen en die begrijp je wel?

De code in #6 zet de gegevens van het bestand 'Lijst 1.xlsx' in de variabele ar, en de gegevens van het bestand van waaruit je de macro start in de variabele ar1. zowel ar als ar1 zijn zijn array's. Dit zijn objecten die in het geheugen geladen worden. Door beide array's met elkaar te vergelijken krijg je het uiteindelijk resultaat.

Je kan het allemaal naspelen in de VB-Editor door met <F8> door de code te wandelen. (zet wel het scherm locals aan dan kan je volgen welke variabele welke waarde op welk moment krijgt)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan