zeichenfolge per vba vertauschen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: zeichenfolge per vba vertauschen
von: josef s.
Geschrieben am: 25.04.2005 13:02:43
hallo zusammen,
ich möchte die in einer zelle stehenden zeichen nach folgendem prinzip "durcheinander" bringen:
erstes und letztes zeichen sollen beibehalten werden. die zeichen dazwischen sollen nach zufallsprinzip durcheinander geschrieben werden.
mal als beispiel: von "josef" soll lediglich als erstes zeichen "j" und als letztes zeichen "f" an richtiger stelle stehen. die buchstaben "o,s,e" sollen bunt gemischt durcheinander stehen. die länge der zeichenfolge ist dabei immer unterschiedlich.
ich weiß, meine frage scheint blödsinn oder unfug zu sein. ist es aber keineswegs !
und für eure bemühungen bedanke ich mich schon mal vorab !!!
schönen tag noch, gruß aus regensburg
josef

Bild

Betrifft: AW: zeichenfolge per vba vertauschen
von: Reinhard
Geschrieben am: 25.04.2005 14:28:03
Hallo Josef,
habe es probiert, kriege es aber nicht hin, da die Variable pos immer den Wert 1 hat, was ich nicht vertsehe:-(
Aus "abcdef" wird immer "abdddf"
Naja, vielleicht nützt dir der Ansatz was, oder jmd hier kann ihn umbasteln dass er klappt.
Gruß
Reinhard

Sub tt()
Range("A1") = "abcdef"
wort = Mid(Range("A1"), 2, Len(Range("A1")) - 2)
Range("A1") = Left(Range("A1"), 1) & Right(Range("A1"), 1)
'MsgBox wort
For n = Len(wort) To 1 Step -1
    Randomize
    pos = Int(Rnd(n)) + 1
    MsgBox pos
    zwort = zwort & Mid(wort, pos, 1)
    wort = Left(wort, pos - 1) & Right(wort, pos + 1)
    'MsgBox zwort
Next n
'MsgBox zwort
Range("A1") = Left(Range("A1"), 1) & zwort & Right(Range("A1"), 1)
End Sub

Bild

Betrifft: AW: zeichenfolge per vba vertauschen
von: Reinhard
Geschrieben am: 25.04.2005 14:33:37
Hallo Josef,
probier das nachfolgende mal
Viele Grüße
Reinhard

Sub tt()
Range("A1") = "abcdef"
wort = Mid(Range("A1"), 2, Len(Range("A1")) - 2)
Range("A1") = Left(Range("A1"), 1) & Right(Range("A1"), 1)
'MsgBox wort
For n = Len(wort) To 1 Step -1
    Randomize
    pos = Int(n * Rnd()) + 1
    'MsgBox pos
    zwort = zwort & Mid(wort, pos, 1)
    wort = Left(wort, pos - 1) & Mid(wort, pos + 1)
    'MsgBox zwort
Next n
'MsgBox zwort
Range("A1") = Left(Range("A1"), 1) & zwort & Right(Range("A1"), 1)
End Sub

Bild

Betrifft: AW: zeichenfolge per vba vertauschen
von: josef s.
Geschrieben am: 25.04.2005 15:07:24
hallo reinhard,
erstmal vielen dank für deine antwort !
sag nur soviel: genau was ich gebraucht habe.
danke !
 Bild

Beiträge aus den Excel-Beispielen zum Thema "zeichenfolge per vba vertauschen"