Halloj. Radera mellanslagen och klipp ut de 5 första tecknen från resulterande sträng, typ: Inget är omöjligt. ;o) Det är schyssta idéer, men jag glömde att nämna att det är inte är fastslaget att det kommer att vara "554 74 Jönköping" hela tiden, det var bara ett exempel, det kan lika gärna vara "192 79 Upplands Väsby" Vilket gör det lite mer klurigt.. :P Har du testat min kod? Funkar för mig oavset om det är Upplands Väsby, Jönköping eller Hisings Backa. Dumma Postadresser
Jag har ett problem, jag måste dela upp en sträng som ser ut liknande denna
"554 74 Jönköping" till att få ut "554 74" och "Jönköping" Jag vet inte hur jag ska göra eftersom det finns 2 mellanslag i skiten. Det KAN även hända, dock sällan, att det är "55474 Jönköping" utan mellanslag i postnumret.
Är detta ens möjligt att göra???
M V H
JohannesSv: Dumma Postadresser
<code>
Function getPostCode(adr)
Dim tmp
tmp = Replace(adr," ","")
tmp = Left(tmp,5)
getPostCode = tmp
End Function
</code>
För att göra det riktigt bra så kan man lägga postnumret och orten som två element i en vektor... och sen bör man kanske kolla att postnumret är giltigt (t ex endast siffror, isNumeric)Sv: Dumma Postadresser
<code>
Dim Ort
Dim PostNr
Dim strText
Dim TestData
TestData = Array("55474Jönköping", "55474 Jönköping", "554 74 Jönköping", "554 74Jönköping")
For Each strText In TestData
If InStrRev(strText, " ", 6) Then
PostNr = Val(Left(strText, 6))
Ort = LTrim(Mid(strText, 7))
Else
PostNr = Val(Left(strText, 5))
Ort = LTrim(Mid(strText, 6))
End If
Debug.Print "PostNr: " & PostNr & ", Ort: " & Ort
Next
</code>Sv: Dumma Postadresser
/JohannesSv: Dumma Postadresser