Meer dan twee spaties reduceren tot één spatie via VBA

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
901
Beste helpmijers,

ik heb een excelbestand waar in een kolom (M) adressen staan met huisnummers. Nu komt het vaak voor dat de huisnummers soms meer dan 25 spaties verwijderd staan van het adres. Mijn verzoek is een code die de hele lijst bij langs gaat en deze vervangt door één spatie.

VB
Hamerslanden 25
Hamerslanden 25

In kolom (L) staat een voorvoegsel van een naam in hoofdletters, deze vervangen door kleine letters

Vb

oude situatie: VAN
gewenste situatie: van

Alvast hartelijk bedankt.

Robert
 
Zoek naar 2 spaties en vervang deze door '' (niks dus).

Kan mis gaan als er precies 2 spaties staan. Als dat vaak voorkomt kun je daar eventueel een controle voor bouwen. Je moet dan eerst het exacte aantal spaties gaan tellen en daarna pas het teveel verwijderen.
 
voor de hoofdletters kun je de functie lower() gebruiken.
 
Code:
Sub Macro2()
For Each cl In Range("M:M").SpecialCells(2)
c01 = ""
c02 = Split(cl.Value, " ")
For i = 0 To UBound(c02)
If c02(i) <> "" Then
c01 = c01 & " " & LCase(c02(i))
End If
Next
cl.Value = Trim(c01)
cl.Offset(, -1).Value = LCase(cl.Offset(, -1).Value)
Next
End Sub

Niels
 
Niels,

Bedankt voor jouw snelle service. De code werkt bijna helemaal perfect, het enige wat niet goed is dat hij de adressen ook voorziet van kleine letters. Als je dat nog kunt wijzigen is het helemaal goed.

Nogmaals bedankt,
Robert
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan