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

letters verwijderen uit string

Status
Niet open voor verdere reacties.

rfcdejong

Verenigingslid
Lid geworden
7 dec 2007
Berichten
180
Hallo,

Ik zou graag willen weten of het mogelijk is, letters in een string te verwijderen, en de overgebleven letters, alfabetisch in een nieuwe string te plaatsen.
Dit i.v.m. een coderingsprogje.

bv. a$=wkiifviadii

Het lijkt een warboel, maar ik zou de i-tjes weg willen halen en de string zonder i-tjes weer gebruiken.
Wat overblijft moet dan in alfabetische volgorde staan

bv.. x$=adfkvw

Als dit mogelijk is zou ik dat graag vernemen

Bij voorbaat dank, Rob de Jong
 
Iets eenvoudiger geschreven.
Code:
Function SortList(ByVal MyText As String, ByVal MyLetter As String) As String
Dim sq, i As Long
   sq = Replace(MyText, MyLetter, "")
   With CreateObject("System.Collections.ArrayList")
      For i = 1 To Len(sq)
         .Add Mid(sq, i, 1)
      Next
       .Sort
    SortList = Join(.toarray, "")
 End With
End Function
 

Bijlagen

Da's een mooie Harry :thumb:
 
Dank je Ed.
Heb ik ergens in 2013 op een Duits forum gemaakt voor iemand.
Gemaakt voor het splitsen op separator.
 

Bijlagen

Kheb 'm opgeslagen :)
 
Hallo Edmoor, en HSV,

Jouw voorbeeld werkt super maar in mijn progje werkt het niet, moet ik dan in VB werken? ik heb daar geen ervaring mee, kun je mij vertellen wat ik moet doen?

Rob
 
De code die HSV plaatste kun je zo in een module zetten in je eigen document. Zo heb je een nieuwe functie in Excel. Het document sla je dan op als Excel document met macro's (.xlsm)
 
Hallo Edmoor, ik ben al de hele avond aan het zoeken hoe ik die VBA kan gebruiken of instellen maar vind geen enkele gebruiksaanwijzing op het web

Rob
 
Nog nooit eerder gebruikt dus. Ok.

1. Kopieer de functie van HSV
2. Open je document
3. Druk op de toetscombinatie Alt-F11
4. Je bent nu in de VBA editor. Klik links bovenin met rechts op ThisWorkbook
5. Kies Invoegen
6. Kies Module
7. Plak de gekopieerde functie
8. Sluit de VBA editor
9. Je bent terug in je werkblad
10. Gebruik de functie van HSV nu als iedere ander Excel functie, dus met je letters in A1 tik je in B2 het volgende: =SortList(A1;"i")
11. Druk op de Enter toets om de functie te activeren
12. You're done :D
 
Hallo Edmoor,

Heel veel dank voor jullie hulp, het werkt.
Ik zou graag willen weten of er een Nederlandstalig boek bestaat zodat ik deze techniek ook kan proberen te leren, door een beroerte ben ik mijn kennis van technisch Engels kwijtgeraakt, dus Nederlands zou fijn zijn.

P.S. Hoe vreemd het ook lijkt, de applicatie welke ik maak is voor een kennis welke met numerologie bezig is, ik begrijp niet hoe het werkt maar probeer haar gedachten te volgen en te verwerken in Excel, nu zijn we weer een stapje verder, deze stap kon ik niet met basic functies maken.

Rob
 
Fijn dat je het werkend hebt gekregen :)
De boeken die ik heb zijn in het Engels en zijn zakelijk aangeschaft. Wellicht dat iemand anders een Nederlands boek voor Basis Training VBA kan aanbevelen.
 
Hallo Edmoor,

Nu doet zich het volgende probleem voor, na opslaan werkt de functie niet meer in een dergelijke formule en is niet meer aanwezig in het werkblad

Rob
 
Dan heb je het document kennelijk opgeslagen als standaard Excel document (.xlsx). Een document dat VBA code bevat moet worden opgeslagen als Excel document met macro's (.xlsm).
 
Hallo Edmoor,

Nadat ik twee codes op dezelfde wijze heb samengesteld (met sortlist) en derhalve deze code woorden in één cel heb geplaatst, zonder de i-tjes in de voorgaande situatie, werkt deze formule niet meer op die nieuwe cel, dus om de letters te sorteren, welliswaar ontbreken daarin de i-tjes.

Rob
 
Plaats dat document eens, anders is er weinig van te zeggen.
 
Hallo Edmoor,

Het betref hier de cellen H64 t/m H68

Rob

P.S. De rest is d.m.v. spaghetti programmeren tot stand gekomen. Ik weet dat het klopt maar begrijp ook niet waar dit op uit gaat draaien.

Rob
 

Bijlagen

Het komt omdat je nu geen 2e parameter meegeeft. In de code van HSV is deze verplicht. Je kunt hem ook optioneel maken.

Wijzig daarvoor deze regel:
Function SortList(ByVal MyText As String, ByVal MyLetter As String) As String

In dit:
Function SortList(ByVal MyText As String, Optional ByVal MyLetter As String) As String
 
Laatst bewerkt:
Edmoor,

Ik ga hem over 2 uur testen, alvast bedankt, ik moet nu eerst even naar het ziekenhuis voor controle

Rob
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan