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

mit VBA Text aufsplitten auf mehrere Zellen

mit VBA Text aufsplitten auf mehrere Zellen
01.10.2014 09:46:55
Franzi
Hallo zusammen,
folgende Frage.
ich möchte die Gleichung
A = B + C - D
splitten, sodass jeder Buchstabe in einer seperaten Zelle steht.
mit Teil = Split(Cells(Zeile, 1), "=") kann ich nur A seperieren, wie mache ich das aber mit B,C und D?
Danke für eure Hilfe,
Grüsse
Franzi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBA Text aufsplitten auf mehrere Zellen
01.10.2014 10:26:21
Daniel
Hi
1. Gleichung in eine Variable lesen
GL = Cells(Zeile, 1).value
2. In der Variablen alle Rechenzeichen durch das Leerzeichen ersetzen:
GL = Replace(GL, "=", " ")
GL = Replace(GL, "+", " ")
GL = Replace(GL, "-", " ")
Usw für alle möglichen Zeilen
3. Überzählige Leerzeichen entfernen:
GL = Worksheetfunction.trim(GL)
4. Auf die einzelnen Zeichen kannst du dann so zugreifen:
Teil1 = Split(GL, " ")(0)
Teil2 = Split(GL, " ")(1)
Teile = Split(GL, " ")(2)
Usw
Gruß Daniel

Anzeige
AW: mit VBA Text aufsplitten auf mehrere Zellen
01.10.2014 10:50:19
fcs
Hallo Franzi,
Daniels Vorschlag mit dem Leerzeichen als Trennzeichen funktioniert bei mir nicht 100%.
Günstiger ist es + und - durch = zu ersetzen, bevor man die Split-Funktion einsetzt.
Gruß
Franz
Sub TestSplit_2()
Dim strText As String, strSep As String
Dim Zeile As Long
On Error Resume Next
strSep = "=" 'oder anderes Zeichen, das in den Zellinhalten nicht vorkommt
For Zeile = 3 To 5
strText = Cells(Zeile, 1).Text
If strText  "" Then
strText = Replace(strText, "=", strSep)
strText = Replace(strText, "+", strSep)
strText = Replace(strText, "-", strSep)
strText = Trim(strText)
Cells(Zeile, 2) = Trim(Split(strText, strSep)(0))
Cells(Zeile, 3) = Trim(Split(strText, strSep)(1))
Cells(Zeile, 4) = Trim(Split(strText, strSep)(2))
Cells(Zeile, 5) = Trim(Split(strText, strSep)(3))
End If
Next
End Sub

Anzeige
AW: mit VBA Text aufsplitten auf mehrere Zellen
01.10.2014 11:07:23
Franzi
boah, das ist echt krass :)
vielen Dank für eure hilfe!!

AW: mit VBA Text aufsplitten auf mehrere Zellen
01.10.2014 11:39:14
Daniel
Hast du mal versucht herauszufinden, warum das mit dem Leerzeichen bei dir nicht funktioniert?
Enthalten deine "Variablen" in der Gleichung vielleicht selber ein Leerzeichen?
Gruß Daniel

AW: mit VBA Text aufsplitten auf mehrere Zellen
01.10.2014 16:40:04
fcs
Hallo Daniel,
ja der Beispieltext hatte beim Testen Leerzeichen. Ich hatte die von Franzi gepostete Gleichung in eine Zelle kopiert.
Es funktioniert dann, wenn man erst alle Leerzeichen durch "" (Leerstring) ersetzt und danach dann =, + und - durch Leerzeichen ersetzt.
Gruß
Franz

Anzeige
AW: mit VBA Text aufsplitten auf mehrere Zellen
01.10.2014 17:02:59
Daniel
Hi
die mehrfachen Leerzeichen hintereinander, die entstehen, wenn vor und nach den Rechenzeichen Leerzeichen vorhanden sind und man die Rechenzeichenzeichen ebenfalls durch Leerzeichen ersetzt, werden durch das WorksheetFunction.Trim(GL) (Schritt 3) eleminiert und zu einem Leerzeichen zusammengefasst.
Hast du diesen Schritt ebenfalls übernommen?
und wenn ja, hast du dann auch wirklich Worksheetfunction.Trim() verwendet und nicht nur Trim()?
Das sind nämlich zwei unterschiedliche Funktionen.
Worksheetfunction.Trim() elemeniniert die Leerzeichen am Anfang und Ende des Strings, sowie alle mehrfachen Leerzeichen innerhalb des Strings
[VBA.]Trim hingeben eleminiert nur die Leerzeichen am Anfang und Ende, aber nicht die zwischendrin!
Gruß Daniel

Anzeige
Das ginge auch in einem Zug mit einer ...
01.10.2014 13:10:07
Luc:-?
…UDF wie SplitVx, Franzi,
denn die ist u.a. auch speziell für solche Fälle gemacht:
=SplitVx("A = B + C - D";{" = "." + "." - "})
Die UDF findest du im Archiv in einer von mir entsprd ergänzten u. hochgeladenen BspDatei von Oberschlumpf.
Gruß, Luc :-?
Besser informiert mit …

337 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige