Cijfers uit een string halen [xlgp]

Status
Niet open voor verdere reacties.

xl3igplayer

Gebruiker
Lid geworden
22 jan 2011
Berichten
143
Hallo allemaal!

Ik heb een probleem en ik kan het antwoord niet op google vinden.
Ik wil graag uit een string ( zoals de titel al zegt ) alle cijfers halen.

Voorbeeld

Ik heb een string

code:
1a2bc34d5



Daar wil ik alle cijfers uitfilteren zodat je dit krijgt

Code:
12345




Maar nu is mijn vraag Hoe ga ik dit doen ?

Alvast bedankt iedereen !
Groetjes xl3igplayer :D
 
Laatst bewerkt:
Wil je dat in een functie die je in een cel kunt opgeven?

Code:
Function Cijfers(ByRef aanbod As String)
    Dim i As Integer
    
    For i = 1 To Len(aanbod)
        Select Case Mid(aanbod, i, 1)
            Case 0 To 9
                Cijfers = Cijfers & Mid(aanbod, i, 1)
        End Select
    Next
    
End Function

Plaats de code in een module en zet in bijvoorbeeld A1 de tekst 1a2bc34d5
In B1 zet je dan =Cijfers(A1)
De uitkomst in B1 is dan 12345
 
Laatst bewerkt:
sorry, ik heb nog nooit gewerkt met functie of met cellen. Ik heb de code er in maar waar moet ik mijn string zetten ? gewoon de eerste regel van function iets van
Code:
aanbod = "jdfa234da"

en waar moet ik dan een code doen om de function te activeren ? (bijv onder een button)
 
Sorry, ik ging even uit van Excel.

Als je zegt dat je de code erin hebt, wat bedoel je dan?
Wat heb je waar gezet?
In de code zoals ik die gaf moet je niets wijzigen.
 
Laatst bewerkt:
ik zet dat stukje tekst ( jou code ) in visual basic. dan staat het tussen Private Sub's dus hoe kan ik het dan activeren in een Private Sub ?
 
Zoals ik al zei, ik was bezig met Excel en maakte het voor je voor Excel ;)

Je kunt de volgende code achter een button plakken:

Code:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim i As Integer
    Dim c As String

    For i = 1 To Len(TextBox1.Text)
        Select Case Mid(TextBox1.Text, i, 1)
            Case 0 To 9
                c = c & Mid(TextBox1.Text, i, 1)
        End Select
    Next
    TextBox1.Text = c
End Sub

Alleen eventueel de button- en tekstbox naam aanpassen.
Dit kan netter maar werkt zo ook.
 
Laatst bewerkt:
Of deze:

[CPP]Function returnNummers(ByVal input As String) As Integer
Dim retVal As String = ""
For Each teken As Char In input
If IsNumeric(teken) Then retVal &= teken
Next
Return Integer.Parse(retVal)
End Function[/CPP]
 
Perfect JoZ1.
Die van mij was snel in elkaar gestoken zen zoals ik er al bij vertelde, het kan netter :)
 
@edmoor: Danke schön :D

Maar jouw code doet het natuurlijk ook gewoon. Netjes genoeg hoor :P
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan