Minulla on osoitteita yhdellä sarakkeella (katuosoite postitoimipaikka). Ne pitäisi saada eroteltua niin, että yhdellä sarakkeella olisi katuosoite ja postitoimipaikka toisella.
Ongelmana on, että katuosoitteet ja ostitoimipaikat ovat eri pituisia joten niiden käsittely pituuden mukaan ei onnistu. Tai ainakaan minä en osaa.
Osaisiko joku neuvoa noviisia?
Osoite kahdelle sarakkeelle
6
495
Vastaukset
- MS
Klikkaa koko katuosoite postitoimipaikka pystysarake aktiiviseksi
Klikkaa teksti sarakkeisiin
Kiinteä leveys ( postinumerot samanpituisia suomessa )
Voit pystyssäolevan nuuolen avulla päättää mistä kohdasta solu jaetaan
Muista valita kaikki solut tekstiksi ettei postinumeroista katoa etunollat- muuan mies
Voipi olla tekemätön paikka, jos osoite on esim:
"Urho Kekkosenkatu 155 A 42 65380 Vanha Vaasa" ilman pilkkuja tai muita erottimia. Välilyöntejä on liikaa, jotta teksti sarakkeisiin pystyisi löytämään postinumeron, mistä taas pääsisi palastelemaan osoiterimpsun kolmeen sarakeeseen.
Ihminen näkee katkaisukohdat, mutta excel ei ilman Kunden koodia...
"Ihminen näkee katkaisukohdat, mutta excel ei ilman Kunden koodia..."
;-)
osoitteet nyt C1:Cxx ja purkaa katuosoitteen D- sarakkeeseen ja postitoimipaikan numeroineen E -sarakkeeseen
moduuliin...
Sub PuraOsoitteet()
Dim i As Long
Dim Postinumero As Integer
Dim solu As Range
Dim vika As Long
vika = Range("C65536").End(xlUp).Row
For Each solu In Range("C1:C" & vika)
For i = Len(solu) To 1 Step -1
If IsNumeric(Mid(solu, i, 1)) Then
Postinumero = Postinumero 1
End If
If Postinumero = 5 Then
solu.Offset(0, 1) = Left(solu, i - 1)
solu.Offset(0, 2) = Mid(solu, i)
Exit For
End If
Next
Postinumero = 0
Next
End Sub
Keep EXCELing
@Kunde- Sebas
Miten tuota koodia pitää muuttaa, että se erottaa postinumero ja postitoimipaikan yhdestä solusta 2 kahteen soluun? Arvojen välillä on välilyönti (00100 Helsinki).
Kiitos! Sebas kirjoitti:
Miten tuota koodia pitää muuttaa, että se erottaa postinumero ja postitoimipaikan yhdestä solusta 2 kahteen soluun? Arvojen välillä on välilyönti (00100 Helsinki).
Kiitos!Sub PuraOsoitteet()
Dim i As Long
Dim Postinumero As Integer
Dim solu As Range
Dim vika As Long
vika = Range("C65536").End(xlUp).Row
For Each solu In Range("C1:C" & vika)
For i = Len(solu) To 1 Step -1
If IsNumeric(Mid(solu, i, 1)) Then
Postinumero = Postinumero 1
End If
If Postinumero = 5 Then
solu.Offset(0, 1) = Left(solu, i - 1)
solu.Offset(0, 2).NumberFormat = "@"
solu.Offset(0, 2) = Mid(solu, i, 5)
solu.Offset(0, 3) = Mid(solu, i 6)
Exit For
End If
Next
Postinumero = 0
Next
End Sub
- Sebas
Kiitos vastauksesta!
Sain toimimaan myös Split() -funktiolla:
Sub PuraOsoitteet()
erotus= Split(Range("C1").Value, " ")
postinumero= erotus(0)
postitoimipaikka = erotus(1)
Cells(1, 4) = postinumero
Cells(1, 5) = postitoimipaikka
End Sub
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 724128
Purra on kantanut vastuuta täyden kympin arvoisesti
Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans573813Surullista
Että menetit sen naisen , tosi surullista ja vielä oman tyhmyyden takia ,ymmärrän että se on masentavaa522354Muuttunut käytös
Onko kaivattusi käytös muuttunut? Tiedätkö mistä se johtuu? Haluatko kertoa, mitä tapahtui?442151Väkeä oli liikkeellä
Nyt leijutaan pilvissä. Kun eläinpuistossa oli porukkaa 😆😆 Olihan siellä kun ilmaiseksi pääsivät. Eiköhän se juuri sik361925- 491829
- 991626
Kummallista
Oletteko koskaan ihastuneet ihmiseen, joka ei ulkonäöltään vastaa ollenkaan ihannettanne?551603- 481592
- 571463