Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mehrere Werte in einer Zelle (mit Zeilenumbruch) untereinander ausgeben
#1
Hallo zusammen,

ich hoffe, dass mir wieder so gut weitergeholfen werden kann.

Folgende Ausgangslage:

In einer Zelle stehen mehrere Werte untereinander (Zeilenumbruch), wobei jede Zeile in dieser Zelle, einen Datensatz aus mehreren Werten darstellt:

-> Beispiel für Zelle A1 (wobei A:1 ein kompletter Datensatz ist)
A:1
B:2
C:3
D:4

Jetzt sollen zwei Sachen erreicht werden. 

1. Die Werte einer Zelle sollen getrennt werden und untereinander ausgegeben werden (je Datensatz eine Zeile)
2. Der Datensatz einer Zeile soll getrennt werden und nebeneinander dargestellt werden

-> Beispiel für Zelle A1 und A2
A 1

-> Beispiel für Zelle B1 und B2
B 2
usw.

Der "Trick" mit Alt+010 "Text in Spalten" und danach die Daten transponieren und nochmal Text in Spalten und den Doppelpunkt als Trennzeichen, ist leider für mich nicht anwendbar, da ich sehr viele Daten auf diese Weise bearbeiten muss.

Richtig geil wäre eine Lösung, die in meine Tabelle automatisch die richtige Anzahl an Zeilen einfügt. Sprich: Wenn in meiner Ausgangstabelle in Zeile A1 3 Werte stehen und in Zelle A2 5 Werte und Zelle A3 4 Werte, dann sollten unter A1 zwei Zeilen eingefügt werden, unter A2 (bzw dann A4) wieder 4 Zeilen usw. Wobei es auch reichen würde, wenn die "neuen" Daten ans Ende der Tabelle geschrieben werden.

Hat jemand eine Idee, um das Problem zu lösen?

Vielen Dank!
Antworten Top
#2
Hi,

stelle bitte eine Beispieltabelle, zwar anonymisiert, aber mit realistischen Beispielen vor.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hi Günter,

hier mal ein Beispiel. Das Tool stellt allerdings den Zeilenumbruch nicht korrekt dar. Spalte A wäre der Datenbestand und Spalte B das Ergebnis.

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
1AA
BB
AA
2AA
BB
CC
BB
3AA
4BB
5CC
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Hi André,

das glaube ich nicht, dass er das so einfach meint. Denn dann würde TiS reichen. Aber gerade das hat er ausgeschlossen. Warten wir also ab, wie sein Beispiel aussehen wird. Wäre natürlich klug, in das Beispiel auch ein Wunschergebnis einzutragen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
HI Günter,

Text in Spalten reicht wohl nicht, weil dem TA zu viele Daten in einer "Zeile" stehen. Hast Du übrigens schon mal probiert, so eine Zelle mit ALT+ENTER als Zeilenumbruch mit Text in Spalten zu trennen? Wenn nicht, dann mach mal Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hi André,

ja, das geht. Du musst als Trenner "andere" anhaken und als Zeichen gibst du ALT+0010 ein.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
Hallo,

per VBA z.B. so:
Sub TransponierenSpezial()
Dim rngB As Range
Dim varQ As Variant
Dim varT As Variant
Dim varZ As Variant
Dim i As Long, j As Long
Set rngB = Cells(1)
varQ = rngB.CurrentRegion.Value
ReDim varZ(1 To 1, 0 To 0) As Variant
For i = 1 To UBound(varQ)
varT = Split(varQ(i, 1), Chr(10))
ReDim Preserve varZ(1 To 1, 1 To UBound(varZ, 2) + UBound(varT) + 1)
For j = 0 To UBound(varT)
varZ(1, UBound(varZ, 2) - UBound(varT) + j) = varT(j)
Next j
Next i
rngB.Resize(UBound(varZ, 2)).Value = Application.Transpose(varZ)
End Sub
Gruß Uwe
Antworten Top
#8
Guten Morgen,

im Anhang findet ihr meine Beispieltabelle.

Danke für den VBA-Code. Ich kenne mich mit VBA kaum aus, werde es aber mal austesten.

Vielen Dank an alle!


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 8,12 KB / Downloads: 12)
Antworten Top
#9
Moin,

deiner Beispieltabelle nach kommt Text in Spalten infrage. Wieso lädtst du nicht eine Beispieltabelle wie ich es in #2 geschrieben habe, hoch???


Zitat:stelle bitte eine Beispieltabelle, zwar anonymisiert, aber mit realistischen Beispielen vor.

Wenn du von "sehr vielen Daten bearbeiten" schreibst, dürfte das Beispiel nicht unbedingt hilfreich sein.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#10
Hallo,

ja, ich könnte es mit Text in Spalten machen, aber dann muss ich alles manuell machen, was mich leider nicht weiterbringt. Zudem brauche ich die Werte auch untereinander und nicht in Spalten. Nur für den zweiten Schritt, den Datensatz aufzutrennen, kommt diese Funktion in Frage. Ich suche nach einer automatisierbaren Lösung. 

Verstehe nicht, weshalb meine Beispieltabelle nicht ausreichend sein soll? Bei meinen echten Daten wird das "A" einfach durch eine 8-stellige Zeichenkombination ersetzt, dann ein Doppelpunkt und dann eine Zahl. Genau wie in meinen Bespiel, das ändert aber nichts an der Ausgangslage.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste