• 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.

Dubbele Enters Verwijderen

Status
Niet open voor verdere reacties.

JusticeNL

Gebruiker
Lid geworden
25 okt 2016
Berichten
5
In Excel zou ik graag alle dubbele enters willen verwijderen.
Het gaat hier dan om kolom E.
Zie bijvoorbeeld rij 4 + 5. Hier zitten heel veel onnodige enters.
1 enter moet dus blijven staan. En zodra er 2 of meer enters zijn dan moeten ze allemaal verwijderd worden.
Weet iemand hier een formule voor?Bekijk bijlage Map6.xlsx
 
Wat de zaak al aardig opruimt:
1. Druk op CTRL+H (zoeken en vervangen)
2. In het "zoeken naar" vakje: druk 3x op CTRL+J (je ziet een klein puntje verschijnen)
3. In het "vervangen door" vakje: druk 1x op CTRL+J
4. Druk op alles vervangen

Herhaal stap 4 een aantal keer totdat er geen items meer gevonden zijn.
 
Ik denk aan zoiets:
Code:
Function LFRemove(x0 As String) As String
    For i = 1 To Len(x0)
        If Mid(x0, i, 1) = vbLf Then
            j = j + 1
        Else
            j = 0
        End If
        If j < 2 Then LFRemove = LFRemove & Mid(x0, i, 1)
    Next
End Function
Om het resultaat te zien in de cel dien je nog wel de formule te vervangen door waarden.
 
Of laat deze even lopen als het eenmalig is:
Code:
Sub WegRets()
    Dim RetSet As Boolean
    Dim a As String
    Dim b As String
    Dim x As Long
    Dim i As Long
    
    For x = 2 To 80
        a = Cells(x, 5)
        For i = 1 To Len(a)
            If Mid(a, i, 1) = Chr(10) Then
                If Not RetSet Then b = b & Mid(a, i, 1)
                RetSet = True
            Else
                RetSet = False
                b = b & Mid(a, i, 1)
            End If
        Next i
        Cells(x, 5) = b
        b = ""
    Next x
End Sub
 
Ik denk aan zoiets:
Code:
Function LFRemove(x0 As String) As String
    For i = 1 To Len(x0)
        If Mid(x0, i, 1) = vbLf Then
            j = j + 1
        Else
            j = 0
        End If
        If j < 2 Then LFRemove = LFRemove & Mid(x0, i, 1)
    Next
End Function
Om het resultaat te zien in de cel dien je nog wel de formule te vervangen door waarden.

Beste Timshel,

Hartelijk dank! Ziet er netjes uit maar het resultaat moet toch iets anders zijn.
Als je bijvoorbeeld kijkt naar de regel waar je de formule toepast (=lfremove(e5)) dan verwijderd hij alle gaten.
Bijvoorbeeld tussen titel en 'features' moet de enter blijven staan. Is dat ook mogelijk?
 
Dus een soort TRIM functie maar dan met de dubbele ENTER ipv de dubbele SPATIE die verwijderd moet worden.
 
Heb je de macro uit #4 al getest?
 
Naast die van Edmoor, dan nog maar een optie...
Code:
Sub VerwijderDubbeleEnters()
Do While InStr(1, ActiveCell.Value, Chr(10) & Chr(10)) > 0
    ActiveCell.Value = Application.Trim(Replace(ActiveCell.Value, Chr(10) & Chr(10), Chr(10)))
Loop
End Sub
 
edmoor, het werkt prima.

ik heb ,voor het overzicht, aan het eind nog deze toegevoegd: Cells.EntireRow.AutoFit
 
Laatst bewerkt:
Mijn UDF werkt ook prima. TS heeft alleen bedacht dat toch niet álle dubbele enters verwijderd moeten worden.
Maar welke dan?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan