Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1172to1176
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
Text aufteilen bis Komma
walli
Guten Abend,
ich habe in der Spalte X (24) einen langen Text.
Nun möchte ich in der Spalte Y (25) den Text kopiert haben bis zum Komma.
Immer ab Zeile 4 bis zum Ende, das Ende sool in der Spalte "B" ermittelt werden.
Wenn möglich mit einem Makro ?
mfg walli
Bahnhof
26.08.2010 20:52:22
Ramses
Hallo
Sei mir nicht böse,.... aber ich versteh kein Wort von dem was du da geschrieben hast ?
Kannst du mal eine Datei hochladen damit man sieht was du meinst ?
Gruss Rainer
? Hmm...
26.08.2010 21:10:20
EvilRik
... wahrscheinlich handelt es sich um eine große Zelle mit mehreren Zeilenumbrüchen.
Das Ende in Spalte B macht mir aber auch sorgen :).
Steht in Spalte B eine Zahl, die das Textende darstellen soll?

sub TextWurm()
erstesKomma=instr(1,range("X24"),",")
Textbisdahin=left(range("X24"),erstesKomma-1)
range("Y25")=Textbisdahin
end sub

Sowas in der Art?
Gruß Henrik
Anzeige
AW: ? Hmm...
26.08.2010 21:30:36
walli
Guten Abend Hendrik,
ja so.
kann es leider nicht testen meine batterie geht leer,
mfg walli
Geht doch
27.08.2010 10:09:55
walli
Hallo Hendrik,
klappt ALLES.
Kann man dies noch in Verbindung mit der automatischen Länge verbinden?
Wenn die letzte belegte Zelle in der Spalte B erkannt wird.
mfg walli
!!! Guckst du bitte hier !!!
27.08.2010 10:27:11
EvilRik
Hallo walli,
ich habe dir ein Beispiel hochgeladen.
In diesem Beispiel habe ich noch einmal versucht zu verstehen, was du möchtest.
Ich hoffe, das passt. Ansonsten lade bitte ein Beispiel hoch.
https://www.herber.de/bbs/user/71281.xls
Eigentlich sollten hier alle vorgeschlagenen Lösungen funktionieren.
Die anderen und ich sind sonst mit unserem Latein am Ende.
Gruß Henrik
Anzeige
AW: !!! Guckst du bitte hier !!!
27.08.2010 10:41:04
walli
Hallo Hendrik,
danke für das Beispiel.
Jetzt werden alle kopiert so wie ich es möchte,
allerdings auch wenn kein Komma steht.
Die sollten nicht kopiert werden.
Anbei die Musterdatei.
https://www.herber.de/bbs/user/71282.xls
mfg walter
Tausend Dank !!! alles ok. --))
27.08.2010 14:21:09
walli
Hendrik bitte nochmal prüfen !!!
27.08.2010 10:30:51
walli
Guten Morgen hendrik,
habe nochmals kontr. leider werden einige Texte nicht kopiert, die
in der Spalte allein bis Komma stehen.
z.b. : hhwalter,
leider wird dann nicht in die rechte Spalte kopiert, warum auch immer.
mfg walli
Anzeige
Aber ...
26.08.2010 21:11:32
walli
Guten Abend Rainer,
z.b. Text:
der Text steht in Spalte X angefangen ab Zeile 4
wb_hhhhh,BGFUPB0HATSRM+SCAREW51645
jetzt sollte der Text bis:
wb_hhhhh,
in die Spalte Y ab Zeile4 angefangen kopiert werden.
ist das OK ?
mfg walli
ich heiß zwar Henrik aber egal :) ...
26.08.2010 21:30:18
EvilRik
huhu walli,
wieviele Zeilen beinhalten denn Text? Von Zeile 4 bis z.B. 23?
Generell hat Excel auch die Möglichkeit Text in Spalten aufzuteilen, wobei man den Seperator selbst bestimmen kann. Daten -> Text in Spalten
Funktioniert gut bei Text. Solltest du aber Dezimalzahlen darin haben z.B. wb_hhhhh,235,66,BGFUPB0HATSRM+SCAREW51645 schribt er 235 in eine und 66 in eine andere Spalte.
Ansonsten:
Schreib folgendes in ein neues Modul oder das Modul des entsprechenden Worksheets

Sub Teilmich()
for zae1=4 to 23    ' Die 23 kannst du deiner Zeilenanzahl anpassen
left(cells(zae1,"X"),instr(1,cells(zae1,"X"),",")-1).copy
cells(zae1,"Y").paste
next zae1
end sub

Gruß Henrik
Anzeige
AW: ich heiß zwar Henrik aber egal :) ...
26.08.2010 21:34:50
walli
Hallo Hendrik,
sorry, der Text steht in in jeder Zelle unterschiedlich lang.
Wenn also das Komma kommt soll bis dahin direkt daneben kopiert werden.
mfg walli
AW: angepasste Lösung, Text bis 1. Komma abtrennen
27.08.2010 02:22:28
fcs
Hallo Walli,
so sollte es funktionieren. Ich hab noch die Prüfung von ein paar Sonderfällen eingebaut.
Gruß
Franz
Sub Teilmich()
'Text in Spalte X (24) bis zum 1. Komma ausschneiden und in Spalte Y (25) eintragen
Dim zae1 As Long, sText As String
For zae1 = 4 To 23  ' Die 23 kannst du deiner Zeilenanzahl anpassen
sText = Cells(zae1, 24).Text
'Komma im Text vorhanden
If InStr(1, sText, ",") > 1 Then
Cells(zae1, 25) = Left(sText, InStr(1, sText, ",") - 1)
'Komma an 1. Position
ElseIf InStr(1, sText, ",") = 1 Then
Cells(zae1, 25).ClearContents
Else
'Kein Komma im text
Cells(zae1, 25).ClearContents
'        Cells(zae1, 25)=sText
End If
Next zae1
End Sub

Anzeige
Ja aber
27.08.2010 09:56:46
walli
Guten Morgen Franz,
klappt soweit.
Allerdings habe ich festgestellt, wenn z.b. hhdieter, steht
wird dieser Text nicht kopiert !
mfg walli
Schnell aber auch
27.08.2010 10:01:10
walli
Hallo Hendrik,
läuft GUT u. Schnell aber es werden die Textteile bis zum Komma auch nicht
kopiert, wenn nur der Text:
hhwalter,
in der Zeile steht.
Hier sollte dann auch hhWalter kopiert werden.
mfg walli
Text aufteilen bis Komma - mit VBA
26.08.2010 21:08:09
Erich
Hi Walter,
probier mal

Sub TeilKommaXY()
Dim arrA, arrE() As String, zz As Long
arrA = Cells(4, 24).Resize(Cells(Rows.Count, 2).End(xlUp).Row - 3)
ReDim arrE(1 To UBound(arrA))
For zz = 1 To UBound(arrE)
arrE(zz) = Split(arrA(zz, 1), ",")(0)
Next zz
Cells(4, 25).Resize(UBound(arrE)) = Application.Transpose(arrE)
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Text aufteilen bis Komma - mit VBA - kürzer
26.08.2010 21:11:32
Erich
Hi Walter,
probier auch mal

Sub TeilKommaXYv2()
Dim arrA, zz As Long
arrA = Cells(4, 24).Resize(Cells(Rows.Count, 2).End(xlUp).Row - 3)
For zz = 1 To UBound(arrA)
arrA(zz, 1) = Split(arrA(zz, 1), ",")(0)
Next zz
Cells(4, 25).Resize(UBound(arrA)) = arrA
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Hallo Erich + Hendrik, testen morgen Früh...
26.08.2010 21:37:40
walli
Guten Abend Erich und nochmals Hendrik,
werde direkt morgen Früh testen, erstmal Danke.
mfg walli
Text aufteilen bis incl. Komma - mit VBA
26.08.2010 21:45:06
Erich
Hi Walli,
und so kommt das Komma auch mit:

Sub TeilKommaXYv3()
Dim arrA, zz As Long, strE As String
arrA = Cells(4, 24).Resize(Cells(Rows.Count, 2).End(xlUp).Row - 3)
For zz = 1 To UBound(arrA)
strE = Split(arrA(zz, 1), ",")(0)
arrA(zz, 1) = strE & IIf(strE  arrA(zz, 1), ",", "")
Next zz
Cells(4, 25).Resize(UBound(arrA)) = arrA
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Text aufteilen bis incl. Komma - mit VBA
27.08.2010 09:46:14
walli
Hallo Erich,
bleibt hier stehen:
strE = Split(arrA(zz, 1), ",")(0)
hatte wohl vergessen, es sind nicht immer Kommas vorhanden.
Nur wenn ein Komma da ist soll das 1.Komma im Text genommen werden.
mfg walli
neue Version
27.08.2010 13:41:23
Erich
Hi Walli,
dass das Makro mit einer Fehlermeldung (die du hier angegeben haben solltest!) aussteigt,
liegt nicht daran, dass da kein Komma in einer Zelle steht, sondern daran, dass eine Zelle ganz leer ist.
Inzwischen hast du ja etwas genauer beschrieben, was du eigentlich haben möchtest.
- wenn leer oder kein Komma, nichts
- sonst Text bis vor dem ersten Komma (ohne das Komma selbst - dein Beispiel sah anders aus...)
Probier mal:

Sub Teilmich2()
Dim arrA, zz As Long, strE As String
arrA = Cells(4, 24).Resize(Cells(Rows.Count, 2).End(xlUp).Row - 3)
For zz = 1 To UBound(arrA)
If Len(arrA(zz, 1)) > 0 Then
strE = Split(arrA(zz, 1), ",")(0)
arrA(zz, 1) = IIf(strE = arrA(zz, 1), "", strE)
End If
Next zz
Cells(4, 25).Resize(UBound(arrA)) = arrA
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
...siehe 10:52 von mir...
27.08.2010 14:04:09
mir...
...
ich glaube wir sollten die Bemühungen einstellen.
Das Problem schein gelöst, leider keine Rückmeldung :(
Gruß Henrik
Doch doch, musste nur Firma etc. -)
27.08.2010 14:26:52
walli
Hallo Henrik,
wie vorhin beschrieben, nochmals DANKE.
Schönes Wochenende
mfg walli
AW: neue Version Funktioniert --))
27.08.2010 14:25:27
walli
Hallo Erich,
bin gerade rein.
Auch deins läuft einwandfrei.
DANKE !!!
mfg walli

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige