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

punten en streepjes verwijderen uit een selectie in excellijst

Status
Niet open voor verdere reacties.

henryvanbeek

Gebruiker
Lid geworden
10 jan 2007
Berichten
84
Hey hallo mede forum gebruikers,

Ik heb een nieuw probleem. Ik heb voor het onderhoud dat ik op mijn werk doe een soort lijst gemaakt met objectnummers. Nu zijn we over
naar een nieuw onderhoudsmanagmentsysteem. En in het huidige systeem zijn alle punten en komma's uit de objectnummers gehaald.

Vroeger zag zo'n nummer er bv zo uit 100-120-HV.001 en in het huidige systeem 100120HV001

Nu is dit niet erg. Maar goed eigenlijk wil ik ze er uit hebben. Nu ben ik al aan het zoeken geslagen maar heb nog niets gevonden wat me kan helpen.

wat ik eigenlijk wil is cel selecteren en dan een macro starten..

Wie kan me verder helpen.

Met vriendelijke groet,

Henry van Beek
 
Dat kun je gewoon met de Zoek en vervang functie doen waarbij je opgeeft in welke kolom of rij dat moet gebeuren.
Dat doet 'ie ze allemaal in 1 keer.
 
En om precies aan uw vraag te beantwoorden is hier een macro om dat te doen:

Code:
Sub Macro1()
With Selection
    Cells.Replace What:="-", Replacement:="", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Cells.Replace What:=".", Replacement:="", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End With
End Sub
 
Een tip:
Vervang ook even "ff" door "f" en "s" door "ss" :P
 
Of als het een echt groot bereik is
Code:
Sub tst1()
sq = Range("A1:A20")'wijzig in het juiste bereik
With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "[^0-9]"
    For i = 1 To UBound(sq)
        sq(i, 1) = .Replace(sq(i, 1), "")
    Next
End With
Range("A1").Resize(UBound(sq)) = sq
End Sub
 
Rudi,

Je patroon laat geen letters toe, dat is wel de bedoeling, verder natuurlijk een mooie oplossing (grote fan van regex'en)
 
heren de eerste macro als een zonnetje. Mijn dank is groot :D

Met vriendelijke groet,

Henry van Beek
 
Oeps, niet goed opgelet
Code:
Sub tst1()
sq = Range("A1:A20")
With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "[^0-9A-Z]"
    For i = 1 To UBound(sq)
        sq(i, 1) = .Replace(sq(i, 1), "")
    Next
End With
Range("A1").Resize(UBound(sq)) = sq
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan