Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
444to448
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
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellinhalt in Zeilen aufteilen

Zellinhalt in Zeilen aufteilen
25.06.2004 11:39:52
Robert
Servus Excel-Profis,
in Zelle A1 habe ich folgenden Inhalt:
["-0.008","-0.002","-0.005","0.003","0.016000001","-0.001"]
Nun möchte ich die Zahlenwert in Zeilen schreiben und die Überflüssigen Zeichen
sollen entfernt werden. Ferner soll aus dem Punkt ein Komma werden.
Die Anzahl der Zahlenwerte kann variieren.
Das Ergebnis soll dann wie folgt aussehen:
-0,008
-0,002
-0,005
0,003
0,016000001
-0,001
Wie kann man das mit VBA realisieren?
Vielen Dank und schöne Grüße
R. Seis

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt in Zeilen aufteilen
mike
Im Tabellenblatt würdest du diese Befehle verwenden können:
HINWEIS:
1. Verwende eine nicht proportionale Schrift (Courier, Fixedsys)
2. Es handelt sich hier um ein Beispiel um Namenslisten zu berabeiten. Ist aber auf jeden Character-String anwendbar.
3. Die Befehle gehören in die Zellen
Zu VBA: einfach Makro-Recorder starten und die Befehle in die Zellen kopieren. Recorder Stoppen und Code bearbeiten.
EXCEL Einzel-Befehle
====================
=LEFT(A2;SEARCH(" ";A2)-1)
=LINKS(E2;SUCHEN(",";E2)-1)
=MID(B4;5;6)
| | | Zelle
| | 1. Zeichen, das extrahiert werden soll
| Anzahl der Zeichen
=RIGHT(A2;SEARCH(" ";A2))
| | Zelle
| Anzahl der Zeichen
=SEARCH(",";B6;1) Ergebnis: Position des gefundenen Zeichens
| | | Was zu suchen ist
| | suche in Zelle
| suche ab n. Zeichen

EXCEL eigene Befehlskompositionen
=================================
Extrahiere aus "Firstname Name" "Name"
--------------------------------------------
=(MID(A2;(SEARCH(" ";A2;1)+1);22))
Extrahiere aus "Name, Firstname" "Name"
----------------------------------------
=(LEFT(A2;SEARCH(", ";A2;1)-1))
Extrahiere aus "Nummer1 / Nummer2" "Nummer1"
-------------------------------------------
=(LEFT(L3;SEARCH(" ";L3;1)-1))
Extrahiere aus "Name, Firstname," "Firstname" (ohne abschl. Komma!)
-------------------------------------------------------------------
=(MID(F2;(SEARCH(",";F2;1)+1);(LEN(F2)-1)-(SEARCH(",";F2;1))))
| | |
| | |Länge des Firstname = Gesamtlänge - Pos. des 1. Kommas
| |Start ab 1. Komma ...
|Aus Zelle F2 suche ...
Ersetze Namensstring "Name,Vorname" durch "Name, V." ("," durch ", ")
--------------------------------------------------------------------------
=CONCATENATE((LEFT(B2;SEARCH(",";B2;1)-1));", ";(MID(B2;(SEARCH(",";B2;1)+1);2));".")
=CONCATENATE((LEFT(F2;SEARCH(",";F2;1)-1));", ";(MID(F2;(SEARCH(",";F2;1)+1);2));".")
Ersetze Namensstring "Name Vorname" durch "Name, Vorname" ("_" durch ", ")
--------------------------------------------------------------------------
=CONCATENATE((LEFT(B2;SEARCH(" ";B2;1)-1));", ";(MID(B2;(SEARCH(" ";B2;1)+1);22)))
Ersetze Namensstring "Name, Vorname" durch "Name Vorname" (", " durch "_" WENN Feld NICHT leer)
--------------------------------------------------------------------------
=IF(LEN(E2)&gt0;(CONCATENATE((LEFT(E2;SEARCH(", ";E2;1)-1));" ";(MID(E2;(SEARCH(", ";E2;1)+1);22))));"")
Ersetze Namensstring "Name Vorname" durch "Name, V." ("," durch ", ")
--------------------------------------------------------------------------
=CONCATENATE((LEFT(B2;SEARCH(" ";B2;1)-1));", ";(MID(B2;(SEARCH(" ";B2;1)+1);1));".")
Ersetze Namensstring "Name, Vorname" durch "Name, V." ("," durch ", ")
--------------------------------------------------------------------------
=CONCATENATE((LEFT(A2;SEARCH(", ";A2;1)+2));".")
Anzeige
AW: Zellinhalt in Zeilen aufteilen
Robert
Servus Mike,
vielen Dank für Deine Hilfe!
Das kann ich auch gut für andere Projekte brauchen.
Schönes Wochenende und Grüße
Robert
AW: Zellinhalt in Zeilen aufteilen
Kl@us-M.
Hi Robert,
versuch's mal mit DATEN - TEXT IN SPALTEN und anschliessendem SUCHEN - ERSETZEN der Zeichen ", [ und ] durch nix, Punkt durch Komma (wie in der hochgeladenen Mappe https://www.herber.de/bbs/user/7713.xls
TabBlatt2)
Gruss aus dem Hunsrück
Klaus-Martin
AW: Zellinhalt in Zeilen aufteilen
Robert
Servus Klaus-Martin,
vielen Dank für Deine Hilfe!
Das ja genial einfach.
Habe die Tabelle noch etwas erweitert und ein kleines Makro getippt, damit die Werte
untereinander dargestellt werden können.
Bis lang habe ich das mit 1200 Werten probiert und es klappt prima.
Hier das fertige Sheed: https://www.herber.de/bbs/user/7729.xls
(Dauert etwas bis hochgeladen ist)
Schönes Wochenende und Grüße
Robert
Anzeige
AW: Zellinhalt in Zeilen aufteilen
Reinhard
Hi Robert,
probiers mal so:

Sub ersetz2()
Dim ers, wert, n As Integer
ers = Array("[" & Chr(34), "", Chr(34) & "]", "", Chr(34) & "," & Chr(34), " ", ".", ",")
For n = 0 To 3
Worksheets("Tabelle1").Range("A1").Replace _
What:=ers(n * 2), Replacement:=ers(n * 2 + 1), _
SearchOrder:=xlByColumns, MatchCase:=True
Next n
wert = Split(Worksheets("Tabelle1").Range("A1"))
For n = 0 To UBound(wert)
Worksheets("Tabelle1").Range("A" & 2 + n) = wert(n)
Next n
End Sub

Gruß
Reinhard
AW: Zellinhalt in Zeilen aufteilen
Robert
Servus Reinhard,
vielen Dank für Deine Hilfe!
Da wäre ich nie drauf gekommen. Prima!
Obwohl ich eine ähnliche Methode mit einem Basic für MS-DOS probiert habe.
Das Programm akzeptiert allerdings nur eine begrenzte Anzahl von Zeichen je Zelle.
In dem Sheed https://www.herber.de/bbs/user/7729.xls kann man das angucken.
(Dauert etwas bis hochgeladen ist)
Das Makro ist jedoch dennoch hilfreich und implementiert.
Schönes Wochenende und Grüße
Robert
Anzeige
AW: Zellinhalt in Zeilen aufteilen
Reinhard
Hi Robert,
von "Die Anzahl der Zahlenwerte kann variieren." konnte ich nicht auf 16023 Zeichen in der Zelle A1 schliessen *grien*
So klappts:

Sub ersetz4()
Dim wert, n As Integer
wert = Mid(Worksheets("Tabelle2").Range("A1"), 3, Len(Worksheets("Tabelle2").Range("A1")) - 4)
wert = Split(wert, """,""")
For n = 0 To UBound(wert)
Worksheets("Tabelle2").Range("A" & 2 + n) = wert(n)
Next n
End Sub

Gruß
Reinhard
AW: Zellinhalt in Zeilen aufteilen
Robert
Servus Reinhard,
Respekt!
Das ist die perfekte Lösung.
Herzlichen Dank!
Tabelle unter http://www.rseis.de/excel/tverlauf.zip (ca. 620 kb)
Grüße und schönes Wochenende
Robert
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige