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

regelomloop in cel.

snb

Verenigingslid
Lid geworden
12 jun 2008
Berichten
20.570
Hoe vervang ik met VBA in een cel met een tekst waarin 3 keer een # voorkomt iedere # door een harde return zodat na vervanging van de # er vier regels in de cel ontstaan ?
Wat hier niet werkt:

cells(1),replace "#", vblf
cells(1)replace "#", vbcr
cells(1).replace "#", vbcrlf
cells(1)replace "#", chr(10)
cells(1).replace "#", chr(13)
cells(1).replace "#", chr(10) & chr(13)

Dank bij voorbaat.
 
Application.substitute

Alhoewel de eerste van je hier gewoon goed werkt.
 
Laatst bewerkt:
Ik heb er zelf totaal geen verstand van, dus heb ik het even aan Claude gevraagd. Dit is eruit gekomen en het werkt ook nog. Eventuele voorloopspaties worden eveneens verwijderd.
Code:
Sub VervangHekjesDoorRegeleinde()
    Dim c As Range
    Dim onderdelen() As String
    Dim i As Long
    Dim resultaat As String
    
    Set c = ActiveCell  ' of bijvoorbeeld: Cells(1, 1)
    
    ' Splits de tekst op het #-teken
    onderdelen = Split(c.Value, "#")
    
    ' Verwijder voorloopspaties van elk deel en voeg samen met regeleinde
    resultaat = ""
    For i = LBound(onderdelen) To UBound(onderdelen)
        If i > LBound(onderdelen) Then
            resultaat = resultaat & Chr(10)
        End If
        resultaat = resultaat & LTrim(onderdelen(i))
    Next i
    
    c.Value = resultaat
    c.WrapText = True
    c.EntireRow.AutoFit
End Sub
 
Werkt hier zonder probleem.

In je voorbeelden in #1 staat in regel 1 een komma waar een punt moet staan.
Regel 2 en 4 missen die helemaal.
Ga je daar wellicht ergens mis?
 
Bij zo'n doorgewinterde? 😉
 
Ja, daarom vond ik het al vreemd.
Maar je weet maar nooit ;)
 
Terug
Bovenaan Onderaan