Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Lösung Zeichenkette bearbeiten.

Forumthread: VBA Lösung Zeichenkette bearbeiten.

VBA Lösung Zeichenkette bearbeiten.
20.09.2006 11:29:12
Fred
Guten Tag Experten,
Habe in einer Celle Folgendes stehen.
0000000A00B00C00 nun möchte ich. Das die Zeichen mit Punkt getrennt werden. Nach jedem 4 ein Semikolon. Und alle Buchstaben sollen in Klammern stehen.
Also,so: 0.0.0.0;0.0.0.(A);0.0.(B).0;0.(C).0.0;
Zeichenkette ist natürlich viel länger und stehen in ca. 2.000 Zellen.
Danke im Voraus.
Fred
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Lösung Zeichenkette bearbeiten.
20.09.2006 12:06:00
Coach
Hallo Fred,
folgender Code schreibt Dir jeweils neben die ausgewählte String die entsprechend layouteten Strings:
Option Explicit

Sub Transform()
Dim r As Range
Dim i As Long, Neu As String
For Each r In Selection
Neu = vbNullString
If Not (IsEmpty(r)) Then
For i = 1 To Len(r.Value)
If IsNumeric(Mid(r.Value, i, 1)) Then Neu = Neu & Mid(r.Value, i, 1) Else Neu = Neu & "(" & Mid(r.Value, i, 1) & ")"
Neu = Neu & IIf(i Mod 4 = 0, ";", ".")
Next
r.Offset(0, 1).Value = Neu
End If
Next
End Sub

Gruß Coach
Anzeige
AW: VBA Lösung Zeichenkette bearbeiten.
20.09.2006 12:29:30
Fred
Hallo Coach,
Habe gleich getestet. Sieht auf dem ersten Blick gut aus.
Noch eine Frage: 1. Zeichenkette steht immer in Zelle A10 letzte kann in A1999 stehen.
Wie baue ich eine Schleife ein?
Vielen Dank
Fred
AW: VBA Lösung Zeichenkette bearbeiten.
20.09.2006 13:10:54
UweD
Hallo
so z.B.

Sub Transform()
Dim r As Range
Dim i As Long, Neu As String, LR%
LR = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte A
For Each r In Range("A10:A1999")
If r.Row > LR Then Exit Sub
Neu = vbNullString
If Not (IsEmpty(r)) Then
For i = 1 To Len(r.Value)
If IsNumeric(Mid(r.Value, i, 1)) Then Neu = Neu & Mid(r.Value, i, 1) Else Neu = Neu & "(" & Mid(r.Value, i, 1) & ")"
Neu = Neu & IIf(i Mod 4 = 0, ";", ".")
Next
r.Offset(0, 1).Value = Neu
End If
Next
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: VBA Lösung Zeichenkette bearbeiten.
20.09.2006 13:21:51
Fred
An alle Helfer,
Super bin voll zufrieden mit Ergebnis.
Weiter so und Danke für die schnelle Hilfe.
Fred
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige