Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1488to1492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aufsplittung von Werten

Aufsplittung von Werten
19.04.2016 07:58:51
Werten
Hallo Zusammen,
ich hab folgendes Problem wäre nett wenn mir jemand dabei helfen könnte.
Ich hab mehrere Attribute in einem Feld (in meinem Fall Spalte J) diese Werte sind aber in einem Nichtbrauchbaren Zusammenstellung
Z.b. Haus01_AA;Haus02_AB;Haus03_AB_AC;Garten_X;
Ich brauch aber nur die Daten die nach HausXX_ kommen.
Diese sollen dann noch miteinander Verkettet Werden mit ; dazwischen und in Spalte K eingefügt werden.
also in meinem Beispiel wäre die Lösung dann:
AA;AB;AB_AC
Die Anzahl der Werte in J ist aber unterschiedlich.
ist das mit Hilfe von einem Makro Möglich?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aufsplittung von Werten
19.04.2016 08:19:57
Werten
Hallo Alex,
der erste Schritt ist aus dem Menü Daten:-) -Text in Spalten mit dem Trennzeichen '_'.
Mit etwas sortieren der Spalten und Zusammenfassen (a1&a2) kommst du dann zum gewünschten Ergebnis.
Mfg

AW: Aufsplittung von Werten VBA
19.04.2016 09:27:15
Werten
Hallo
so z.B.

Sub TT()
On Error GoTo Fehler
Dim i As Double, j As Integer, Arr
Dim SP As Integer, ZE As Integer, LR As Double
Dim Tmp1 As String, Tmp2 As String, NeuTxt As String
Application.ScreenUpdating = False
SP = 10 'Spalte J
ZE = 1 'ab Zeile
With ActiveSheet
.Columns(SP + 1).ClearContents
LR = .Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR
Arr = Split(.Cells(i, SP), ";")
NeuTxt = ""
For j = 0 To UBound(Arr) - 1
If InStr(1, Arr(j), "_") > 0 Then
Tmp1 = Left(Arr(j), InStr(1, Arr(j), "_") - 1)
Tmp2 = Mid(Arr(j), Len(Tmp1) + 2)
If Left(Tmp1, 4) = "Haus" Then
NeuTxt = NeuTxt & Tmp2 & ";"
End If
End If
Next j
If NeuTxt  "" Then _
.Cells(i, SP).Offset(0, 1) = Left(NeuTxt, Len(NeuTxt) - 1)
Next i
End With
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige