Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
28.11.2008 21:23:16 |
Funny-girl |
|
|
|
29.11.2008 05:11:31 |
jh |
|
|
|
29.11.2008 05:33:29 |
jh |
|
|
Aw:Aw:Aw:VBA - Dekomprimieren von Buchstabenketten |
29.11.2008 08:04:15 |
jh |
|
|
|
29.11.2008 23:30:15 |
ich_nochmal |
|
|
Von:
jh |
Datum:
29.11.2008 08:04:15 |
Views:
1016 |
Rating:
|
Antwort:
|
Thema:
Aw:Aw:Aw:VBA - Dekomprimieren von Buchstabenketten |
Hallo,
ich mache hier jetzt den Alleinunterhalter... Sorry, der erste
Lösungsansatz war zu kurz gedacht, falls ein Zeichen mehr als 9
mal auftreten soll (A15B2...) Hier kommt allerdings erschwerend
hinzu, dass Val z. B. 2E3 als Exponentialschreibweise ansieht
und 2000 zurückgibt (2 * 10 ^ 3), sodass man Val nicht einfach
auf den Rest des Strings anwenden kann, sondern erst mal prüfen
muss, wieviele numerische Zeichen folgen.
Dim i As Long ' Zähler
Dim s1 As String ' Eingabe
Dim s2 As String 'Ausgabe
Dim t As String ' ein Zeichen
Dim l As Long ' Eingabelänge
Dim n As Long ' Anzahl auszugebender Zeichen
Dim z As Long ' Anzahl numerischer Stellen
s1 = InputBox("Geben Sie eine Zeichenkette ein:")
l = Len(s1)
i = 1
Do
t = Mid$(s1, i, 1)
z = 0
Do
z = z + 1
Loop While IsNumeric(Mid$(s1, i + z, 1))
n = Val(Mid$(s1, i + 1, z))
If n = 0 Then n = 1
s2 = s2 & String$(n, t)
i = i + z
Loop Until i > l
MsgBox s2
Ich hoffe mal, dass hier alle möglichen Sonderfälle berücksichtigt
sind. Allerdings wird vorausgesetzt, dass der eingegebene String
"syntaktisch" korrekt ist. Weil in der Inputbox bis zu 254 Zeichen
eingegeben werden können, würde z. B. mit A11111... bei
ausreichender Anzahl Ziffern ein Überlauf auftreten.
Gruß
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
28.11.2008 21:23:16 |
Funny-girl |
|
|
|
29.11.2008 05:11:31 |
jh |
|
|
|
29.11.2008 05:33:29 |
jh |
|
|
Aw:Aw:Aw:VBA - Dekomprimieren von Buchstabenketten |
29.11.2008 08:04:15 |
jh |
|
|
|
29.11.2008 23:30:15 |
ich_nochmal |
|
|