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

Besondere Ausgabe des ersten und letzten Wortes

Besondere Ausgabe des ersten und letzten Wortes
02.04.2014 21:42:47
Christian
Hallo an alle,
kann man folgendes in eine Formel fassen? Würde mich freuen wenn ihr mir helft.
Suche wie gesagt 2 Formeln, die eine soll das erste, die zweite das letzte Wort von A1 ff. ausgeben.
Allerdings unter folgenden Bedingungen
1. Wären beide Ausgaben auch unter nachfolgenden Bedingungen identisch sollen beide Zellen leer bleiben.
2. Beinhaltet das erste/letzte Wort einen Punkt oder besteht nur aus einem Buchstaben soll stattdessen das zweite/vorletzte Wort genommen werden.
3. Beinhalten die Wörter, die dann ausgegeben werden sollen einen Bindestrich, soll nur der Teil vor dem Bindestrich ausgegeben werden.
Hänge auch noch eine Datei an, hoffe ihr könnt helfen. Vielen Dank
https://www.herber.de/bbs/user/89966.xlsx
Chris

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 01:00:05
Oberschlumpf
Hi Christian
hier eine VBA-Idee
https://www.herber.de/bbs/user/89967.xls
Wie und ob man das mit Formeln lösen kann, weiß ich nicht.
Hilfts denn?
Ciao
Thorsten

AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 09:01:03
Christian
Hallo Thorsten,
zuerst einmal vielen Dank.
ja im Prinzip ist es das, was ich meinte. Würde mich aber freuen, wenn noch ein paar Anpassungen möglich wären.
1. Wäre schön, da ich noch eine Spalte eingefügt habe, dass sich das Makro in D und E austobt, statt in C und D.
2. Mir ist aufgefallen, leider jetzt erst, dass viele der Texte in Spalte A ein Leerzeichen am Ende haben, das Makro funktioniert nur in den Zeilen, die das nicht haben. Lässt sich da noch ein Mechanismus ähnlich der GLÄTTEN Funktion einbauen, der die Leerzeichen am Ende der Zellen in Spalte A löscht, bevor der Rest des Makros ausgeführt wird?
3. Es wäre super, wenn man noch ein Kriterium einbauen könnte, wenn das erste Wort "The" ist, soll auch das zweite genommen werden
Würde mich freuen, wenn die 3 Punkte auch noch möglich sind. Sorry aber ist mir wirklich jetzt beim Testen erst aufgefallen.
Viele Grüße
Chris

Anzeige
AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 10:42:44
Wilfried
Hallo!
passt das so?
Hilfsspalte löscht ab Ende die Leerzeichen.
Tabelle1

 ABCD
1 Hilfsspalte löscht am Ende Leerzeichen  
2Heute 123 Sonntag blau grün rosa Monat  Heute 123 Sonntag blau grün rosa MonatHeuteMonat
3123 456 Willi123 456 Willi123Willi
49123 7777 Test     9123 7777 Test9123Test

Formeln der Tabelle
ZelleFormel
B2=GLÄTTEN(A2)
C2=LINKS(A2;FINDEN(" ";A2)-1)
D2=TEIL(B2;VERWEIS(9^9;FINDEN(" ";B2;ZEILE(B:B)))+1;9^9)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Wilfried

Anzeige
AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 11:45:21
Wilfried
Hallo!
passt das so?
Hilfsspalte löscht ab Ende die Leerzeichen.
Tabelle1

 ABCD
1 Hilfsspalte löscht am Ende Leerzeichen  
2Heute 123 Sonntag blau grün rosa Monat  Heute 123 Sonntag blau grün rosa MonatHeuteMonat
3123 456 Willi123 456 Willi123Willi
49123 7777 Test     9123 7777 Test9123Test

Formeln der Tabelle
ZelleFormel
B2=GLÄTTEN(A2)
C2=LINKS(A2;FINDEN(" ";A2)-1)
D2=TEIL(B2;VERWEIS(9^9;FINDEN(" ";B2;ZEILE(B:B)))+1;9^9)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Wilfried

Anzeige
AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 15:46:17
Oberschlumpf
Hi Christian
hier die korrigierte VBA-Version
https://www.herber.de/bbs/user/89977.xls
Hab den Code noch mal ganz neu erstellt und die "Aufräumarbeiten" in eine Function ausgelagert.
Hilfts denn nun?
Ciao
Thorsten

AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 15:55:54
Christian
Hallo Thorsten,
du hast vollkommen recht, ich hätte besser auf Tippfehler achten sollen, es tut mir leid.
Auf jeden Fall funktioniert es. Darf ich nur noch eine Verständnisfrage dazu dazu stellen?
Wenn ich nochmal Spalten einfüge, ändert sich das Makro dann eigentlich automatisch, so wie sich Formeln ändern, die sich auf die Spalten beziehen? Und wenn nein, reicht es dann aus, Columns("D:E"), bzw. Range("D" und Range("E" im Makro zu ändern oder müsste noch mehr geändert werden?
Auf jeden Fall schonmal vielen vielen Dank
Christian

Anzeige
AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 16:11:35
Oberschlumpf
Hi Christian
Mich freuts, dass ich dir helfen konnte! :-)
Ja, na klar kannst du Fragen stellen...jede, die du willst (na ja, Sinn + Verstand sollten die Fragen schon haben :-) )
Aber deine aktuellen Fragen (und auch die vorhergehenden) erfüllen diese Bedingung :-)
Nein, Makros passen sich wie Formeln nicht selbst an.
Und ja, wenn du für alle D's + E's die richtigen Spaltenbuchstaben einträgst, dann sollte der Code auch genau nur die für dich richtigen Spalten befüllen.
Mist! Gerade sehe ich deine neue Nachricht :-)
Da hab dann mal ICH geschlampt...hehe
Ja klar, wenn ein Satz mit "The" beginnt, muss da NICHT ein " " folgen, es könnte auch ein "o" oder "ater" folgen...hehe
Ändere mal in der Function fcFirstLast diese Zeile
Left(LCase(wort), 3) "the" Then
um in
Left(LCase(wort), 4)  "the " Then
Hilft das?
Und konnte ich auch deine Fragen beantworten?
Wenn du noc mehr Fragen hast, dann nur her damit. Dafür ist ja dieses und jedes andere Forum gemacht worden.
Ciao
Thorsten

Anzeige
AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 15:59:30
Christian
Hallo Thorsten,
sorry eine Sache ist mir doch noch aufgefallen, es war ausschießlich "The" gemeint, nicht z.B. Thea oder Theo. Bist du so nett und schaust auch da mal nochmal nach?
Gruß
Christian

AW: Besondere Ausgabe des ersten und letzten Wortes
03.04.2014 18:11:36
ChristianM
Hallo Christian,
ein Vorschlag mit userdefined function (udf).
Diese Funktionen passen sich bei Einfügen und Löschen von Spalten entsprechend an.
in ein allgemeines Modul:
Option Explicit
Function udfFirstWord(rngSrc As Range) As String
Dim strWords() As String, strWrd As String
Dim strLeft As String, strRght As String
Dim k As Long
strWords = Split(Trim(rngSrc))
For k = 0 To UBound(strWords)
strWrd = strWords(k)
If Not (k = 0 And strWrd = "The") Then
If Len(strWrd) > 1 And InStr(strWrd, ".") = 0 Then
strLeft = Split(strWrd, "-")(0)
Exit For
End If
End If
Next
For k = UBound(strWords) To 0 Step -1
strWrd = strWords(k)
If Len(strWrd) > 1 And InStr(strWrd, ".") = 0 Then
strRght = Split(strWrd, "-")(0)
Exit For
End If
Next
If strLeft  strRght Then
udfFirstWord = strLeft
End If
End Function
Function udfLastWord(rngSrc As Range) As String
Dim strWords() As String, strWrd As String
Dim strLeft As String, strRght As String
Dim k As Long
strWords = Split(Trim(rngSrc))
For k = 0 To UBound(strWords)
strWrd = strWords(k)
If Not (k = 0 And strWrd = "The") Then
If Len(strWrd) > 1 And InStr(strWrd, ".") = 0 Then
strLeft = Split(strWrd, "-")(0)
Exit For
End If
End If
Next
For k = UBound(strWords) To 0 Step -1
strWrd = strWords(k)
If Len(strWrd) > 1 And InStr(strWrd, ".") = 0 Then
strRght = Split(strWrd, "-")(0)
Exit For
End If
Next
If strLeft  strRght Then
udfLastWord = strRght
End If
End Function
Einträge in der Tabelle:
in D1: =udfFirstWord(A1)
in E1: =udfLastWord(A1)
Diese wie gewohnt nach unten ziehen.
Beachte: jede Funktion berechnet das erste und das letzte Wort. Dies ist erforderlich, da im Fall von gleichem ersten und letzten Wort ein Leerstring erzeugt werden soll.
Gruß
ChristianM

Anzeige
Hinweis
03.04.2014 18:21:25
Oberschlumpf
Hi Christian ohne M
Christian mit M hat natürlich Recht.
Man kann VBA-Code so schreiben, dass er sich - wenn auhc nur indirekt - dem Verschieben, Löschen, Hinzufügen von Zeilen/Spalten anpasst.
Im obigen Beispiel steht ja in den Zellen eigtl auch "nur" eine Formel. Auch wenn diese ihr Ergebnis aus VBA-Code zieht. Aber so musst du den Code halt nicht anpassen, da ja die "Formel" immer mit verschoben wird.
Aber trotzdem. Meine Aussage, dass Makros sich der Tabelle nicht anpassen, stimmt nur eingeschränkt.
Es kommt halt nur darauf an, wie man den Code programmiert.
Ciao
Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige