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

GLÄTTEN - Begrenzung Zellinhalt?

GLÄTTEN - Begrenzung Zellinhalt?
21.02.2022 12:39:51
erichm
Hallo,
ich will Ziffern aus A1 untereinander auflisten, weil diese durch ein Semilikon getrennt sind:
82;83;104;141;292;319;401;540;541;861;898;899;990;1073;1130;1473;1486;1668;2439;2458;3766;4185;4668;4674;6680;6818;6940;6955;7219;7222;7237;7304;7484
Funktioniert grundsätzlich mit der Formel:
WENNFEHLER(GLÄTTEN(TEIL(WECHSELN($A$1;";";WIEDERHOLEN(" ";999));(SPALTE(A$1)+ZEILE()-3)*999-998;999))*1;"Fehler")
Jetzt habe ich das Problem, dass die Formel nicht mehr funktioniert, wenn die Zellenlänge in A1 größer 149 ist. Kann man diese Begrenzung aufheben / ändern? Gefunden habe ich nichts.
Hier die Musterdatei, einmal mit Tabelle in Ordnung und einmal mit Fehler:
https://www.herber.de/bbs/user/151263.xlsx
Vielen Dank für eine Hilfe!
mfg

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
das liegt wohl eher daran, ...
21.02.2022 12:59:47
Rudi
dass
WECHSELN($A$1;";";WIEDERHOLEN(" ";999))
zu lang wird.
=WENNFEHLER(GLÄTTEN(TEIL(WECHSELN($A$1;";";WIEDERHOLEN(" ";599));(SPALTE(A$1)+ZEILE()-3) *599-598;599))*1;"Fehler")
funktioniert.
Gruß
Rudi
DANKE - funktioniert! mfg owT
21.02.2022 15:13:26
erichm
...
AW: GLÄTTEN - Begrenzung Zellinhalt?
21.02.2022 13:02:35
GerdL
Moin
in der Not hilft auch ...

Sub Makro1()
Dim X As Variant
X = Split(Range("A1"), ";")
Range("B3").Resize(UBound(X) + 1) = Application.Transpose(X)
End Sub
Gruß Gerd
Danke für die Alternative - mfg owT
21.02.2022 15:14:06
erichm
...
Unabhängig davon...
21.02.2022 13:02:49
{Boris}
Hi,
...dass Rudi Dir für die Formel die Lösung gezeigt hat, ist das doch aber ein Klassiker für Daten-Text in Spalten.
VG, Boris
Anzeige
AW: Unabhängig davon...
21.02.2022 14:59:33
Daniel
ja aber hier bräuchte man TEXT IN ZEILEN und das gibt es nicht als Menüfunktion.
Gruß Daniel
AW: Unabhängig davon...
21.02.2022 15:15:18
erichm
stimmt; Text in Spalten kann ich deswegen nicht nehmen, weil auch die Spalten B, C befüllt werden.
mfg
Hängt ja davon ab...
21.02.2022 15:40:26
ab...
Hi,
...ob das ne einmalige Aktion ist oder nicht. Für einmalig kann man Text in Spalte verwenden und dann kopiert und transponiert wieder einfügen.
Aber das brauche ich Dir nicht zu erzählen ;-)
Für mehrere oder wiederkehrende Aktionen bieten sich die anderen Lösungen an.
VG, Boris
Nachtrag
21.02.2022 13:23:19
Rudi
Hallo,
der Fehler tritt unabhängig von der Textlänge ab dem 33sten ; auf. z.B. 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1
Allein durch Wechseln(A1;";";Wiederholen(" ";999)) wird die Textlänge zu 32967 Zeichen. Imho ist ein Text auf 2^15 (32768) Zeichen beschränkt.
Gruß
Rudi
Anzeige
Interessant - Danke. mfg owT
21.02.2022 15:16:03
erichm
...
AW: GLÄTTEN - Begrenzung Zellinhalt?
21.02.2022 14:37:36
Daniel
HI
leider hat Excel immer noch keine "offizielle" Funktion gebaut, um Texte zu splitten, auch in 365 nicht.
man kann aber alternativ die Funktion XMLFILTERN verwenden, die eigentlich dafür gedacht ist, informationen aus Webseiten (die in XML geschrieben sind) auszulesen.
dafür muss allerdings im Text die Trennzeichen durch die XML-Tags ersetzen (und einen Tag an anfang und Ende setzen), so dass der Text wie ein XML-Code aussieht.
nähreres dazu findest du hier: http://www.excel-ticker.de/xmlfiltern-zum-aufteilen-von-text-verwenden/
für deine Excelversion müsste dann eigentlich diese Formel in der ersten Zelle ausreichen, welche sich dann über den Autospill nach unten ausfüllt:

=XMLFILTERN("&ltz&gt&lty&gt"&WECHSELN($A$1;";";"&lt/y&gt&lty&gt")&"&lt/y&gt&lt/z&gt";"//z/y")
in älteren Excelversionen (ab 2013) dann diese Formel in die erste Zelle und nach unten ziehen soweit wie benötigt:

=INDEX(XMLFILTERN("&ltz&gt&lty&gt"&WECHSELN($A$1;";";"&lt/y&gt&lty&gt")&"&lt/y&gt&lt/z&gt";"//z/y"); ZEILE(A1)) 
in noch älteren Excelversionen (2010 und davor) könnte man folgende Formel verwenden, allerdings muss man als Vorarbeit noch ein Semikolon am Anfang und am Ende des Textes hinzufügen (kann man auch in der Formel machen, in dem man jedes $A$1 durch ";"&$A$1&";" erweitert, aber das habe ich hier mal weggelassen und das in der Zelle direkt ergänzt, damit die Formel übersichtlicher bleibt:

=TEIL($A$1;FINDEN("|";WECHSELN($A$1;";";"|";ZEILE(Z1)))+1;FINDEN("#";WECHSELN($A$1;";";"#";ZEILE(Z2)) )-FINDEN("|";WECHSELN($A$1;";";"|";ZEILE(Z1)))-1) 
Gruß Daniel
Anzeige
AW: GLÄTTEN - Begrenzung Zellinhalt?
21.02.2022 15:17:33
erichm
Vielen Dank Daniel!
Das klappt hervorragend.
mfg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige