Vervangen tekst

Status
Niet open voor verdere reacties.

leonhnoel

Gebruiker
Lid geworden
4 mei 2016
Berichten
58
Ik wil tekst in een bepaalde kolom vervangen via VBA.

Nu bestaat deze tekst uit cijfers, sommige met en sommige zonder voorloopnul.
Ik wil deze voorloopnul behouden wanneer deze aanwezig is.
Echter wanneer de waarde 0321 vervangen dient te worden door 0333 geeft onderstaande code als resultaat 333.

Hoe kan ik dit aanpassen?

Code:
Sub Vervangen_tekst()


    Dim lNoOfRecords As Double
    
    lNoOfRecords = Application.CountIf(Sheets("Aanpassen").Columns(2), "<>")
    
    For j = 1 To 2
        
        For i = 2 To lNoOfRecords
     
            Sheets("Uren").Select
            Columns("O:V").Select
            Selection.Replace What:=Sheets("Aanpassen").Cells(i, j), Replacement:=Sheets("Aanpassen").Cells(i, j + 2), _
            LookAt:=xlPart, _
            SearchOrder:=xlByRows, _
            MatchCase:=False, _
            SearchFormat:=False, _
            ReplaceFormat:=False
    
        Next i
        
    Next j
    
End Sub
 
Vervang 0321 door '0333
Incl. die enkele quote dus.

Verder kan je code veel efficienter en sneller, maar plaats daarvoor een voorbeeld bestand.
 
Laatst bewerkt:
Bedankt voor de snelle reactie, het werkt.

Ik neig ernaar om het niet te delen. Ik geloof dat het sneller en efficiënter kan, maar deze code begrijp ik.

Mijn niveau is (overduidelijk) beginner en als er nu een efficiënte manier wordt gepost door jou of een van de anderen hier ben ik vast en zeker mijn begrip van de code kwijt en moet ik direct weer vragen stellen hier als ik wat wil aanpassen.

Bedankt voor het aanbod!
 
Het lijkt toch nog niet helemaal lekker te werken.

Ik heb in de lijst waar naar gekeken wordt een ' toegevoegd aan de getallen, maar het komt toch nog voor wanneer ik de code draai dat het wordt weggeschreven zonder voorloopnul..

Iemand hier gedachten over waarom dit gebeurd?
 
Het is wel de bedoeling de enkele quote in de code toe te voegen, niet aan getallen in het werkblad.
Verder zou het handig zijn als je aangeeft waar in je voorbeeld document het niet goed gaat en wat er moet worden gedaan om dat te kunnen zien.
 
Dan moet ik de code zo schrijven dat VBA een ' toevoegt indien het gevonden criterium met een 0 begint?

Als je nu de code draait en vervolgens kijkt in kolom O filtert zie je dat er hits zijn zonder voorloopnul. Die waren er voor het draaien van de code niet.

Er wordt nu aangepast naar de waardes 0576, 0654 en 0690. Echter, alleen de 0654 en 0690 verliezen de 0. Hoe kan dit?
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan