Letters weghalen

Status
Niet open voor verdere reacties.

gebruiker62

Gebruiker
Lid geworden
7 aug 2002
Berichten
389
hallo, ik heb een lap text, dat zowel nummers als letter bevat. Nu wil ik eigelijk met een simpel programmatje die letters weghalen, zodat ik alleen de cijfers overhoud... Hou moet dat???

TNX :D
 
Hiermee zou het moeten gaan.

Sub Macro1()
'
' Macro1 Macro
' Macro opgenomen op 10-1-2004 door --
' A-Z in kleine en grote letters = ascii 65 t/m 122 verwijderen uit tekst.
For x = 65 To 122
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find

.Text = Chr$(x)
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next x
End Sub

Alle ascii waarden van 65 t/m 122 worden vervangen door 'niets'.

Met lees tekens zoals . en , en ook & doet deze macro niets wil je ook die er uit moet je onderstaande macro gebruiken, die laat alleen getallen staan.
 
Laatst bewerkt:
Sub Macro1()
'
' Macro1 Macro
' Macro opgenomen op 10-1-2004 door --
' Ik laat alleen de cijfers 123456789 en 0 staan
For x = 32 To 47
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Chr$(x)
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next x

For x = 58 To 255
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Chr$(x)
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next x

End Sub
 
Zoveel manieren om het te realiseren.

Kijk maar of je met onderstaande code er verder mee kunt.
Het is alleen om even te laten zien hoe de ongewenste ASCII-codes kunnen
worden geëlimineerd.

Op het form plaats je een knop en 2 text-boxen.


Code:
Private Sub Command1_Click()
    Dim teller As Integer
    Dim nieuwe_tekst As Variant
    Dim oude_tekst As Variant
    oude_tekst = "12Me34ne5_@#*67er 8Wei9jma10"
    Text1.Text = oude_tekst
    nieuwe_tekst = ""
    Text2.Text = nieuwe_tekst
    For teller = 1 To Len(Text1.Text)
       If Asc(Mid$(oude_tekst, teller, 1)) >= 48 And Asc(Mid$(oude_tekst, teller, 1)) <= 57 Then
       	  nieuwe_tekst = nieuwe_tekst & Mid$(oude_tekst, teller, 1)
       End If
    Next teller
    Text2.Text = nieuwe_tekst
End Sub
Groetjes.
 
Laatst bewerkt:
Supers!!! Het is gelukt!! dank u beiden!!!!

Nu kan ik eindelijk proxy lijsten maken zonder al teveel rompslomp!!!

Thnx!!!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan