Gå til innhold

Excel - VBA-funksjon for å løse opp i tekststreng


Anbefalte innlegg

Hei dere,

 

Håper noen kan hjelpe meg med en VBA-funksjon jeg ikke helt klarer se hvordan jeg skal løse. Jeg har en lang liste med adresser, som eksempelvis:

 

Myrdalsvegen 10, 12, 14, Myrdalshovden 22, 26A-F, Bergen

Moholt Allé 9, 11, 13, Fiolsvingen 3, 5, 7, Trondheim

 

Jeg forsøker å lage en makro som henter ut de individuelle adresse, slik:

Myrdalsvegen 10, Bergen

Myrdalsvegen 12, Bergen

Myrdalsvegen 14, Bergen

Myrdalshovden 22, Bergen

Myrdalshovden  26A-F, Bergen

...

 

Jeg har forsøkt å bruke LEFT, RIGHT, FIND i en loop, men det ble ikke spesielt elegant, og jeg fikk det ikke til å fungere helt som jeg ville. Er det noen som har noen finurlig løsninger eller idéer?

 

Takk så meget på forhånd :)

Lenke til kommentar
Videoannonse
Annonse

Hei trommeslager!

 

Jobben er for stor og eksemplene alt for få til at du kan vente er ferdig løsning. Men jeg ville tenkt i disse baner:

 

Du leser linje for linje. Der fyller du strengvariabel Byen med siste ord, som du finner etter siste komma, funksjon InstrRev.

Resten splitter du ved kommaene slik

Dim S() as string

...

S = Split(langtekst, ",")

Så sjekker du hver S om hvorvidt det er et ord eller ikke

For i = lbound(S) to ubound (S)

If ErOrd(S(i)) then

... da har du en ny gate, hvis ikke har du et nytt gatenummer. Putt i respektive Variabler Gaten og Numret, og skriv Gaten, Numret og Byen i en ny linje for hver ny Numret.

 

Funksjonen ErOrd(Tekst as string) as boolean

 

må du skrive selv, det er litt av moroa. Hvis to første tegn av Tekst er bokstaver så tror jeg du treffer riktig godt.

 

Beste hilsen Harald

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...