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

Gegevens automatisch veranderen aan de hand van een lijst

Status
Niet open voor verdere reacties.

LuukL

Gebruiker
Lid geworden
23 feb 2017
Berichten
5
Goedemiddag,

Ik doe regelmatig een stukje administratie voor een kennis.
Hij stuurt mij gegevens op in excel. Ordernr. / Klantnr. / Artikelnr. etc.

Dit bestand moet ik telkens handmatig aanpassen, want wat bij hem klant 1 is zal bij mij zomaar 52 kunnen zijn. Dit geld ook voor de artikelnrs.. lang verhaal.

Ik wil dus graag een lijst maken met zijn nummers | mijn nummers.

Als hij mij dan zijn bestand stuurt kan ik met een druk op de knop zijn nummers om zetten naar de mijne.

Verder dan een macro maken en alle gegevens zoeken vervangen kom ik niet,

Code:
    Columns("F:F").Select
    Selection.Replace What:="1", Replacement:="52", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Dit zal ik dan voor alle nummers moeten doen, en zodra er een nieuwe bij komt moet ik die handmatig toevoegen.


Ik ben totaal niet handig met Excel, maar er moet toch een manier zijn om dit sneller te doen? Dat ik alleen maar nummers aan de lijst hoef toe te voegen?
Ik hoop dat ik het duidelijk verwoord heb en dat iemand mij de juiste richting op kan sturen.

Alvast bedankt

Groet Luuk
 
Ik heb trouwens de zoekfunctie gebruikt en heb al het 1 en ander geprobeerd, maar ben nog niet tot de oplossing gekomen.
Excuses als het wel ergens gevonden kon worden.
 
Zonder vbtje valt daar niets zinnig over te zeggen.
Post eens een vbtje met wat verschillen en het gewenste resultaat.
 
Vreemde zaken van administratie doen.
Zijn klantnummers verruilen voor jouw klantnummers.

Hebben jullie dezelfde klanten?
 
Inderdaad, het zijn dezelfde klanten.
Moeten alleen vanuit mijn kant berekend worden.

Dat moeten we nog een keer gelijk trekken, maar dat kan op dit moment nog niet.

Bekijk bijlage testexcel.xlsx

Bij de import staan de gegevens die ik toegezonden krijg, tabblad gegevens bevat de nummers die het moeten worden.
Dit is alleen maar een snel voorbeeld, normaal is het veel meer.

Hoop dat het zo duidelijk is wat ik bedoel ?
 
Ik heb geen idee of klantnr. en art.nr. bij elkaar horen, vandaar twee zoekfuncties in een loop.
Code:
Sub hsv()
Dim sn, sq, rw, rw2, i As Long
sn = Sheets("import").Cells(1).CurrentRegion
sq = Sheets("gegevens").Cells(1).CurrentRegion.Resize(, 5)
 For i = 2 To UBound(sn)
   rw = Application.Match(sn(i, 3), Application.Index(sq, 0, 1), 0)
     If Not IsError(rw) Then sn(i, 3) = sq(rw, 2)
   rw2 = Application.Match(sn(i, 4), Application.Index(sq, 0, 4), 0)
     If Not IsError(rw2) Then sn(i, 4) = sq(rw2, 5)
 Next i
 Sheets("import").Cells(1).Resize(UBound(sn), 5) = sn
End Sub
 

Bijlagen

Hartelijk dank! Zo werkt het!

Ik probeer er alleen achter te komen hoe het precies werkt. Kun je mij vertellen wat Application.Index(sq, 0, 1), 0) doet?
Hij zoekt dan in tabblad gegevens, maar waarom 0, 1), 0) ?

Staat dat voor kolom A de hele rij soms? En dan vergelijkt hij het met rij 2. En als het niet overeenkomt wijzigt hij het.

Ik had net namelijk de rijen verplaatst, en de code gewijzigd naar die rijen. Maar dan gebeurt er niks meer. Vandaar de twijfel.

Maar ik kan er in ieder geval mee verder.

Bedankt voor je hulp HSV
 
Code:
=index(a1:e100;rij;kolom)

Het doet niets anders dan de werkbladformule:

Code:
=Application.Match(sn(i, 4), Application.Index(sq, 0, 4), 0)
=vergelijken(d2;vierde kolom van index sq;onwaar)
=vergelijken(d2;d1:d100;onwaar)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan