• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Spaties verwijderen van Tekst in een cel

Status
Niet open voor verdere reacties.

Andre01

Gebruiker
Lid geworden
26 apr 2005
Berichten
51
Ik wil graag weten of het mogelijk is om in een bepaalde kolom alle tekst die in de cellen staat te ontdoen van spaties en af te kappen bij 10 karakters.

Dus bijvoorbeeld.

Cel C1 bevat de waarde: A B123 CD123456
Dit moet dan automatisch worden: AB123CD123

In dit moet automatisch voor bijvoorbeeld alle cellen in kolom C.

Ik hoor het graag.
 
Hoi Andre01,

Code:
Sub RemoveSpatie()

    Dim r As Range
    Dim LastRow As Long
    LastRow = Range("C:C").SpecialCells(xlCellTypeLastCell).Row
    For Each r In Range("C1:C" & LastRow)
        r.Value = Replace(r, " ", "")
        r.Value = Left$(r, 10)
    Next

End Sub
 
Kijk dat werkt perfect!:thumb:

Is het ook nog mogelijk om heb bij een lege cel te laten stoppen?
 
Met een gewone simpele formule:

=LINKS(SUBSTITUEREN(C1;" ";"");10)

Kan je zelf kiezen waar je de formule naartoe kopieert.

Wigi
 
Hoi Andre01,

Je kunt bijvoorbeeld
Code:
 For Each r In Range("C1:C" & LastRow)
veranderen in
Code:
 For Each r In Range("C1:C10")
Op deze manier wordt alleen C1 t/m C10 bekeken.
Als je wilt dat hij bij de eerste lege cell stopt ongeacht of er nog tekst onderstaat dan kun je.
Code:
For Each r In Range("C1:C" & LastRow)
        r.Value = Replace(r, " ", "")
        r.Value = Left$(r, 10)
    Next
veranderen in
Code:
For Each r In Range("C1:C" & LastRow)
        r.Value = Replace(r, " ", "")
        r.Value = Left$(r, 10)
        If Trim(r.Value) = "" then Exit For
    Next

@Wigi
=LINKS(SUBSTITUEREN(C1;" ";"");10)
Kan natuurlijk ook, maar ik ben niet zo in de formules. VBA gaat me beter af:cool:
 
Als je wilt dat hij bij de eerste lege cel stopt ongeacht of er nog tekst onderstaat dan zou ik dit gebruiken:

Code:
Dim r as Range
For Each r In Range("C1", Range("C1").End(xlDown))
r = Left$(Replace(r, " ", ""), 10)
Next

Al maakt het niet zo heel veel verschil natuurlijk :D

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan