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

Ab Leerzeichen entfernen

Ab Leerzeichen entfernen
20.11.2012 17:55:11
Mister-B
Hallo,
ich hoffe Ihr habe eine Idee.
in einer Zelle steht Text. Wie kann ich mit VBA alles was rechts vom ersten leerzeichen entfernen.
Gruß
Martin

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ab Leerzeichen entfernen
20.11.2012 18:49:54
robert
Hi,
so vielleicht? Texte stehen in Spalte A, ev.anpassen
Gruß
robert
Sub tt()
Dim i%, x%, mylng%
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
mylng = Len(Cells(i, 1))
x = InStr(1, Cells(i, 1), " ")
Cells(i, 2) = Left(Cells(i, 1), x - 1)
Next i
End Sub

AW: Ab Leerzeichen entfernen
20.11.2012 18:53:52
Uduuh
Hallo,
wo ist der Sinn?
Dann sind nur noch Leerzeichen in der Zelle.
Gruß aus’m Pott
Udo

wieso ? ich habs so...
20.11.2012 19:01:49
robert
verstanden-Udo,
zB. in A1 steht: Text ist irgendwas usw.
NEU in A1 steht: Text
oder lieg ich falsch?
Gruß
robert

Anzeige
Sicher nicht, Robert, wird ...
20.11.2012 19:12:26
Luc:-?
…wohl eher Udo sein, dem da der „blinde Fleck“ in die Quere gekommen ist… ;-)
Übrigens, Robert, wäre das auch ein Einsatzgebiet für Splitt bzw SplitVx in einer ZellFml bzw vbFkt Split wie hier x = Split(text)(0) oder als ZellFml =Splitt(text) in einer Zelle. Soll's der nächste Teil in nur einer Zelle sein, dann =INDEX(Splitt(text);2). Mit SplitVx analog und mit Splint (hast du ja wohl auch!) =Splint(text;;2;2). Damit hättest du schon mal ein Anwendungsbsp! ;-)
Gruß Luc :-?

Danke Luc, aber..
20.11.2012 19:30:54
robert
Hi Luc,
genau da ! liegt mein Problem.....
Du bietest mehrere Vorschläge an, ohne onkret ein Beispiel zu erstellen :-)
Mir wäre sehr geholfen, wenn Du Deine Varianten in mein Makro einbauen könntest.
Ich brauch das halt, um etwas zu verstehen-sorry....
Gruß
robert

Anzeige
Mit Bsp ist Bsp f.d.dir v.mir geschickten ...
20.11.2012 20:05:42
Luc:-?
…Fktt gemeint, Robert;
das konkrete Bsp wäre dann das Frager-Problem, das man (nicht nur) so einfach per Fml lösen könnte (Bspp dafür habe ich ja genannt).
Was die vbFkt Split betrifft → die ersetzt deine ganze Schleife! Du brauchst das Leerzeichen nicht zu suchen, das findet Split allein, denn das bei Split(text) fehlende Arg2 ist dann standardmäßig Leerzeichen. Mit dem nachgestellten Index 0 behältst du in x (kann auch die gleiche Variable sein, in der text steht oder gleich die Zelle, wenn's keine Fkt, sondern 'ne Subroutine wdn soll) nur den gewünschten linken Textteil bis zum Leerzeichen, das dabei verlorengeht.
Im Grunde genommen hast du mit deiner Lösung ja quasi versucht, Split nachzubauen. Das ist aber nur für xlVss vor Xl9 erforderlich!
Gruß Luc :-?

Anzeige
Split eingebaut ....
20.11.2012 20:21:35
robert
Danke Luc,
meinst Du so ?
Gruß
robert
Sub tt() 'Text nach 1.Leerzeichen entfernen
Dim i%
On Error Resume Next
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(i, 3) = Split(Cells(i, 1))
Next
End Sub

Fehlt nur noch d.Index (0), sonst könnte's evtl...
20.11.2012 20:58:57
Luc:-?
…Fehler #WERT! geben, Robert,
weil VBA viell versucht, das ganze Datenfeld in einer Zelle unterzubringen. In ZellFmln ginge das aber.
Gruß Luc :-?

Index (0), , wo und wie ?......
21.11.2012 08:53:38
robert
Cells(i, 3) = Split(Cells(i, 1))
Gruß
robert

Augen auf, schon geht's- Danke Luc owT
21.11.2012 09:01:58
robert

Korrektur: Ersetzt natürl nicht ...
25.11.2012 18:51:15
Luc:-?
…diese Schleife, Robert,
sondern nur die Suche, aber das hattest du ja schon bemerkt. Insofern ist das auch kein (vollständiger) Nachbau von Split, sondern höchstens einer für ein erstmaliges Auftreten des Default-Delimiters. ;-)
Bei einem vollständigen Nachbau könnte man mit einer Schleife alle Zeichen des TextArguments durchgehen und dabei mit dem vorgegebenen Trennzeichen (Delimiter) vgln oder sich mit Instr(letztefundstelle+1,…) per Do While o.ä. von TrennzeichenAuftritt zu -Auftritt „durchhangeln“, was ggf schneller wäre.
Gruß Luc :-?
PS: Bin fast fertig!

Anzeige
AW: Ab Leerzeichen entfernen
20.11.2012 19:22:58
Mister-B
Hallo,
Robert hat es schon richtig verstanden, vielleicht habe ich mich nicht deutlich ausgedruckt. Sorry.
Ich möchte in den Variabel ActiveSheet.Cells(x, 7) alles ab dem ersten Leerzeichen links weg haben. Der Text in der Zelle sieht so aus, Name Zusatztext. Der Zusatztext und Leerzeichen sollen weg.
Gruß
martin

und das Makro ausprobiert? ow t
20.11.2012 19:35:15
robert

hatte ne Fehlfunktion. Sorry. owT
20.11.2012 19:37:57
Uduuh

Soll vorkommen; ist auch IT-gemäßer als ...
20.11.2012 20:08:47
Luc:-?
…„Blinder Fleck“, Udo… ;-))
Gruß Luc :-?

AW: Ab Leerzeichen entfernen
24.11.2012 19:40:21
Mister-B
Hallo,
tut mir Leid, dass ich jetzt eine Rückmeldung gebe.
Leider reichen meine VBA Kenntnisse nicht aus um den Vorschlag von Robert für meine Bedürfnisse anzupassen. Ich habe allerdings mein Problem mit der Formel:
=WENNFEHLER(LINKS(F10;FINDEN(" ";F10)-1);F10)
gelöst. Trotzdem danke für die Hilfe.
Gruß
Martin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige