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

Verwijderen teken uit cel met VBA

Status
Niet open voor verdere reacties.

JKlerks

Gebruiker
Lid geworden
15 aug 2017
Berichten
56
Goedemiddag allen,

ik wil in een kolom "vreemde" tekens verwijderen uit de inhoud, zodat er zeker geen foutmelding komt als ik een bestand opsla met als naam de inhoud van de cel. Ik maak een kopie zodat beide resultaten zichtbaar blijven.

Ik ben eigenlijk alleen benieuwd of er een snelle en goede manier is om meerdere tekens ineens te verwijderen en of het anders kan dan zoeken - vervangen.

De opgenomen code zie je hieronder. Bestanden zijn erg groot (250K regels) en alle tekens \ / : * ? " < > | moeten eruit.

Code:
Sub Macro1()
    Columns("E:E").Select
    Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
End Sub

Merci d'avance!
Joshua
 
Zoiets:
Code:
Sub Macro1()
    Vervang = "\/:*?<>|" & Chr(34)
    Application.ScreenUpdating = False
    For i = 1 To Len(Vervang)
        Columns("E:E").Replace What:=Mid(Vervang, i, 1), Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Next i
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Zoiets:
Code:
Sub Macro1()
    Vervang = "\/:*?<>|" & Chr(34)
    Application.ScreenUpdating = False
    For i = 1 To Len(Vervang)
        Columns("E:E").Replace What:=Mid(Vervang, i, 1), Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    Next i
    Application.ScreenUpdating = True
End Sub

Hi Edmoor,

dank voor je reactie, maar hiermee is de hele kolom leeg en dat lijkt me ook niet de bedoeling.

Gr Joshua
 
Vermijd select in VBA.

Hallo snb,

dank voor je reactie. Die verwijder ik inderdaad, zodat ik niet de tab waarop het speelt zichtbaar hoef te maken. Was even ter voorbeeld, zodat jullie weten wat ik doe.

Het gaat om tenaamstellingen die uit data van derden komt, dus ik kan die niet zomaar delen.

Concreet staat er in een cel "Jo/shua***" en ik wil een file opslaan als "joshua.pdf". Ik kopieer eerst de kolom, voordat ik die onderdelen verwijder, zodat ik beide houdt voor aansluiting in het proces.

Thnx, Joshua
 
Hi Edmoor,

dank voor je reactie, maar hiermee is de hele kolom leeg en dat lijkt me ook niet de bedoeling.

Gr Joshua

Haal dan dat * teken uit de string.
 
Dat zou moeten kunnen door "~*" te vervangen door ""
Los kreeg ik dat wel voor elkaar, in de loop niet, maar speel er eens mee.
 
Gebruik niet de quote knop om te reageren.
 
edmoor wil zeggen dat je het zo eens moet proberen. En zo kan je meteen ook zien hoe iets zonder gevoelige info kan geplaatst worden
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan