Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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

Zellaufteilung

Zellaufteilung
07.01.2021 16:21:21
haustein
Hallo Gemeinschaft,
ich habe in einer Zelle folgendes beispielhaft stehen
Test Müller
Haarenstrasse 12
40050 Hannover
T. 055 215454
jetzt möchte ich gerne, das diese Zelle aufgeteilt wird, so das in der gleichen Zeile in
Zelle1-Test Müller
Zelle2- Haarenstrasse 12
Zelle 3 - 40050 Hannvoer
Zelle 4 T. 055 215454
steht

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellaufteilung
07.01.2021 16:35:14
UweD
Hallo
in ein Modul
Sub Splitten() Dim TB, LR As Long, i As Long Dim Arr, j As Integer Set TB = Sheets("Tabelle1") With TB LR = .Cells(.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte For i = 1 To LR Arr = Split(.Cells(i, 1), vbLf & vbLf) For j = LBound(Arr) To UBound(Arr) .Cells(i, 1).Offset(0, 1 + j) = Arr(j) Next j Next i End With End Sub
Vorgaben:
- Daten stehen in Spalte A ab Zeile 1
- sind durch eine Leerzeile in der Zelle getrennt (also 2x Linefeed)
LG UweD
AW: Zellaufteilung
07.01.2021 17:00:50
haustein
super klasse - hat gut geklappt
nun leider ein nächstes Problem
in manchen Zellen (die aus einem DB Export kamen) sind die Angaben leicht vertauscht - nun habe ich folgendes Problem -in manchen Zellen sind Leerzeilen drin - in manchen nicht
Anzeige
AW: Zellaufteilung
07.01.2021 17:09:17
haustein
und was halt ober cool waere, wenn PLZ und Ort in unterschiedlichen Zellen stehen könntehn
Vorschlag ...
07.01.2021 19:01:43
Matthias
Hallo,
nachdem Du den Code von Uwe ausgeführt hast fügst Du nach der Spalte von PLZ/Ort
eine neue Spalte ein.
Tabelle1

 ABCDEF
1
Test Müller

Haarenstrasse 12

40050 Hannover

T. 055 215454

Test Müller
Haarenstrasse 1240050 Hannover T. 055 215454


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Dann markierst Du die Spalte von PLZ/Ort und wählst Daten Text in Spalten.
Dort trennst Du nach dem Leerzeichen zwischen PLZ und Ort.
Tabelle1

 ABCDEF
1
Test Müller

Haarenstrasse 12

40050 Hannover

T. 055 215454

Test Müller
Haarenstrasse 1240050HannoverT. 055 215454


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Das wars schon ...
Gruß ...
Anzeige
AW: Vorschlag ...
07.01.2021 20:05:41
Haustein
Geht leider nicht, da wie bereits oben beschrieben das fällt Postleitzahl und Ort nicht immer in der gleichen Spalte ist
AW: Zellaufteilung
08.01.2021 11:58:31
UweD
Hallo nochmal
versuch es so

Sub Splitten()
Dim TB, LR As Long, i As Long
Dim Arr, j As Integer, z As Integer
Set TB = Sheets("Tabelle1")
With TB
LR = .Cells(.Rows.Count, "A").End(xlUp).Row   'letzte Zeile der Spalte
For i = 1 To LR
Arr = Split(.Cells(i, 1), vbLf) 'Aufspalten bei Zeilenwechsel
z = 0
For j = LBound(Arr) To UBound(Arr)
If Arr(j)  "" Then
'nur wenn keine Leerzeile
If IsNumeric(Left(Arr(j), 5)) And InStr(Arr(j), " ") > 0 Then 'PLZ und  _
Leerzeichen
.Cells(i, 1).Offset(0, 1 + z) = Split(Arr(j), " ")(0) 'PLZ
.Cells(i, 1).Offset(0, 1 + z + 1) = Split(Arr(j), " ")(1) 'Ort
z = z + 2
Else
.Cells(i, 1).Offset(0, 1 + z) = Arr(j)
z = z + 1
End If
End If
Next j
Next i
End With
End Sub

LG UweD
Anzeige
AW: Zellaufteilung
08.01.2021 16:47:18
haustein
klasse - lieben dank
Danke für die Rückmeldung (owT)
08.01.2021 17:09:26
UweD
Danke für die Rückmeldung (owT)
08.01.2021 20:51:46
UweD
Komplettlösung
07.01.2021 18:19:58
lupo1
B1: =GLÄTTEN(TEIL(WECHSELN(WECHSELN(A1;ZEICHEN(10)&ZEICHEN(10);ZEICHEN(10));ZEICHEN(10);WIEDERHOLEN(" ";199));SPALTE(A:D)*199-198;199))
F1: =TEIL(D1;1;SUCHEN(" ";D1))
G1: =WECHSELN(D1;F1;)
B1 ist hier als dynFml berücksichtigt. Falls TE das nicht hat, muss er die Fml klassisch abwandeln.
AW: Komplettlösung
07.01.2021 18:22:19
haustein
hi - lieben dank - aber ich finde eine vba lösung schon toller
Oh, Entschuldigung. Wobei ...
07.01.2021 18:25:55
lupo1
... Du dann wieder zu denen gehörst, die nicht wissen:
Excelformeln lassen sich auch durch VBA verwenden, umgekehrt nicht.
Dafür kann VBA alles, Excel nur einiges.
Anzeige
UDF VSplit im Archiv ist flexibler und sowohl ...
07.01.2021 18:01:08
Luc:?
…in einer SubProzedur als auch einer ZellFml einsetzbar, haustein;
wie du das dann haben willst, kannst du weitgehend über ihre Argumente festlegen oder sie ggf 2mal einsetzen:
VSplit (Vs1.1) https://www.herber.de/bbs/user/99024.xlsm (BspDatei m.UDFs)
Gruß, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige