Zoeken in tekst veld a1 en waarde geven in veld b1 en verder

Status
Niet open voor verdere reacties.

Klaassenme

Nieuwe gebruiker
Lid geworden
25 jan 2013
Berichten
3
Ik heb de volgende vraag

In het veld a1 staat een lange tekst waarin bv a3g4 voorkomt, als hij deze waarde vindt moet hij in veld b1 het nummer 20100 weergeven. Vindt hij de tekst a5d3 dan moet hij in veld b1 20400 weergeven. Dit zomverder tot 100 zoekfuncties.
Vervolgens moeten dezelfde voorwaarden ook gelden voor veld a2 en het antwoord in veld b2.
Vermoedelijk ben ik de code instring nodig, maar krijg het niet voor elkaar.
De bedoeling van dit alles is een bankafschrift met pinautomaatnummers erin in te lezen in excel en automatisch te coderen voor de boekhouding. Dus als hij een bep nummer ziet, dit te koppelen aan een bepaald grootboeknummer.

Wie kan mij helpen?

Groet

Martin
 
Visual Basic is iets anders dan Visual Basic for Applications, VBA is programmeren binnen Office applicaties. Verplaatst naar juiste sectie.
 
Met deze formule moet het ook lukken
Code:
=OFFSET($G$1,MAX(IF(ISERROR(FIND(G1:G4,A1)),-1,1)*ROW(G1:G4))-1,1)
Je moet ze wel afsluiten met "Ctrl" + "Shift" + "Enter" daar het om een matrix formule gaat.

In cellen G1 tem G100 zet je alle teksten waar je moet naar zoeken
In cellen H1 tem H100 zet je het weer te geven nummer voor elke tekst uit G1 tem G100
Vanaf cel A1 kan je al je lange teksten zetten
Vanaf cel B1 zet je bovenstaande formule
 

Bijlagen

hoi Mcs51MC

Heel erg bedankt, dit gaat me veel tijd opleveren. nu kunnen we de banksafschriften met stortingspasnummmer automatisch verwerken.
de attached Files formule werkt prima, de offset formules geeft een fout als ik het als matrixformule wil opslaan. bij mij is de functie offset niet bekend ws de oorzaak,
maar ik kan prima met de eerste oplossing uit de voeten.

danks

martin
 
UK = NL
Offset = Verschuiving
Max = Max
If = Als
IsError = IsFout
Find = Vind.Alles
Row = Rij

Dat zijn standaard functies van Excel, dus moet hij ze wel allemaal kennen hoor.

Maar er zat wel een bugje in :)
Wanneer de string geen enkele combinatie bevat komt een fout op!

Met deze formule is dat opgelost, nu komt er "Not Found" in cellen Bx wanneer de string geen enkele combinatie bevat.
Die melding is naar believen aan te passen :)
Code:
=IF(MIN(ISERROR(FIND($G$1:$G$5;A1))*1)=0;OFFSET($G$1;MAX(IF(ISERROR(FIND($G$1:$G$5;A1));-1;1)*ROW($G$1:$G$5))-1;1);"Not Found")

Niet vergeten: Afsluiten met "Ctrl" + "Shift" + "Enter" daar het om een matrix formule gaat.
 
hoi heb zelf ook nog een ander oplossing gevonden middels een functie

Code:
Function Grootboek(Arg As String) As Long
Dim StrTxt

For Each StrTxt In Split(Arg, " ")
    If StrTxt Like "abc" Then Grootboek = Val(20100)
    If StrTxt Like "bca" Then Grootboek = Val(20200)
    
   Next

End Function
 
Laatst bewerkt door een moderator:
Zo is het nog maar eens bewezen dat alle wegen naar Rome leiden :)
Indien je mag stoppen wanneer je een item gevonden hebt zou ik voorstellen de code zoals hieronder aangegeven aan te passen
Nadeel van dergelijke user function is dat de variabelen in code zitten en wanneer deze moeten aangepast worden er in code moet gewroed worden :(
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan