Thema Datum  Von Nutzer Rating
Antwort
28.11.2008 21:23:16 Funny-girl
NotSolved
29.11.2008 05:11:31 jh
NotSolved
29.11.2008 05:33:29 jh
NotSolved
Blau Aw:Aw:Aw:VBA - Dekomprimieren von Buchstabenketten
29.11.2008 08:04:15 jh
NotSolved
29.11.2008 23:30:15 ich_nochmal
NotSolved

Ansicht des Beitrags:
Von:
jh
Datum:
29.11.2008 08:04:15
Views:
1016
Rating: Antwort:
  Ja
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ß

Ihre Antwort
  • 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: Name: Email:



  • 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
NotSolved
29.11.2008 05:11:31 jh
NotSolved
29.11.2008 05:33:29 jh
NotSolved
Blau Aw:Aw:Aw:VBA - Dekomprimieren von Buchstabenketten
29.11.2008 08:04:15 jh
NotSolved
29.11.2008 23:30:15 ich_nochmal
NotSolved