Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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 in Zelle kürzen
27.10.2019 11:25:36
Peter
Hallo,
ich habe folgenden Text in der Zelle:
LINK Excel.SheetMacroEnabled.12 C:\\Users\\Peter\\Desktop\\Test2\\Mappe2.xlsm Tabelle1!Z2S1 \a \t \* MERGEFORMAT
Test2a
Könnt ihr mir bitte helfen, diese Zeile so zu kürzen, dass nur noch
C:\\Users\\Peter\\Desktop\\Test2\\Mappe2.xlsm
in der Zelle übrig bleibt.
Bitte per VBA und auch als Formel.
Besten Dank
Gruss
Peter

33
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Per UDF
27.10.2019 11:32:43
RPP63
Moin!
UDF:
Function Split_Part$(Zelle$, Number&)
Split_Part = Split(Zelle, " ")(Number - 1)
End Function

Ergibt für das vierte "Wort":
 A
1 LINK Excel.SheetMacroEnabled.12 C:\\Users\\Peter\\Desktop\\Test2\\Mappe2.xlsm Tabelle1!Z2S1 \a \t \* MERGEFORMAT
2C:\\Users\\Peter\\Desktop\\Test2\\Mappe2.xlsm

ZelleFormel
A2=Split_Part(A1;4)

Gruß Ralf
Anzeige
Auch wenn das hier ein Excel-Forum ist …
27.10.2019 11:36:54
RPP63
… mit Google Tabellen ist es eine simple Formel:
=INDEX(SPLIT(A1;" ");4)
Und mit deiner oder der universelleren und schon …
27.10.2019 14:03:59
Luc:-?
…lange im hiesigen Archiv befindlichen Splint ist die Fml noch simpler, Ralf: ;-)
=Splint(A1; ;4;4)
Ansonsten halte ich mich mal aus der Peter-Verwirrnis raus, denn die Peter, denen ich in der Vergangenheit geraten hatte, sollten das kennen oder selbständig finden können, zumindest sich nicht so leicht verwirren lassen…
Gruß, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Nichtsdestotrotz Durchblick verbessern mit …

Anzeige
Was Leerzeichen im relevanten Textteil betrifft, …
27.10.2019 19:35:17
Luc:-?
…kann man das auch so handhaben:
=Splint("C:\"&Splint(A1;"C:\";2;2);".xlsm";1;1)&".xlsm"
Das sollte eindeutig genug sein. Aber in Analogie zu ERSETZEN ginge auch Folgendes (mit seit 14 Jahren im Archiv enthaltener UDF):
=MaskOn(A1; "mrkCm")
Falls das nicht flexibel genug ist, dann so:
=MaskOn("`"&WECHSELN(WECHSELN(A1;"C:\";"´C:\";1);".xlsm";".xlsm`";1);"mrk`´";1)
Luc :-?
wenn dich "Peter" geistig überfordert Luc
27.10.2019 21:37:38
Daniel
dann ist es trotzdem nicht besonderes gut, wenn wenn schon ein einfaches "Tabelle 2.xlsm" als Dateiname die vorgeschlagene Lösung ins Straucheln bringt.
Anzeige
Hattest du nicht genug Zeit, ...
28.10.2019 14:59:46
Luc:-?
…Daniel,
auch meinen Nachtrag zu lesen‽ Insofern ist dein jetziger „Beitrag“ nur ein Versuch, unnötigerweise eine Palme zu pflanzen. Außerdem ist ja wohl sonnenklar, wessen Verwirrnis gemeint war, denn immerhin hatte das Peter selbst bekundet — unter einem Beitrag von dir… :->
Luc :-?
AW: Hattest du nicht genug Zeit, ...
28.10.2019 23:18:35
Daniel
Nach deinem Beitrag bin ich davon ausgegangen, dass du nichts weiteres schreiben wolltest.
Wollte ich auch nicht, aber das Gegenteil ...
29.10.2019 04:05:35
Luc:-?
…konntest du ja nur dann nicht bemerken, wenn du entweder deinen Browser stundenlang nicht aktualisiert hattest oder den Nachtrag nicht sehen wolltest. :->
Luc :-?
AW: funktioniert
27.10.2019 11:42:21
Peter
Hallo Ralf,
das funktioniert einwandfrei.
Gibt es hierfür auch noch eine VBA-Lösung?
Anzeige
Eine UDF IST eine VBA Lösung …
27.10.2019 11:49:14
RPP63
Du kannst natürlich auch gleich per Makro trennen:
Sub Trenne()
Range("A1") = Split(Range("A1"), " ")(3)
End Sub

AW: klappt
27.10.2019 11:54:03
Peter
Hallo Ralf,
ich habe nicht so viel Ahnung daher meine umständliche Fragestellung.
Die Function ist VBA. Aber das Makro von Dir ist jetzt die perfekte Lösung.
Besten Dank und einen schönen Sonntag.
Gruss
Peter
Gefährlich. Wenn Leerzeichen in Pfad und Dateiname
27.10.2019 12:10:46
Daniel
vorkommen, gehts so nicht.
Gruß Daniel
AW: Gefährlich. Wenn Leerzeichen in Pfad und Dateiname
27.10.2019 12:15:55
RPP63
Ja, ich finde Deine Lösung (am Ende des Threads) besser als meine, Daniel.
Allerdings kennt Peter jetzt gleich mehrere Methoden.
Ist ja für jemanden mit Basiskenntnissen auch nicht ganz verkehrt.
;)
Anzeige
AW: Gefährlich. Wenn Leerzeichen in Pfad und Dateiname
27.10.2019 12:38:11
Daniel
Zumal das ERSETZEN so nicht in Formeln verwendet werden kann.
Gruß Daniel
AW: Text in Zelle kürzen
27.10.2019 11:33:40
Hajo_Zi
Halo Peter,
warum neuen Beitrag?

Tabelle1
 A
28LINK Excel.SheetMacroEnabled.12 C:\\Users\\Peter\\Desktop\\Test2\\Mappe2.xlsm Tabelle1!Z2S1 \a \t \* MERGEFORMAT
29C:\\Users\\Peter\\Desktop\\Test2\\Mappe2.xlsm

verwendete Formeln
Zelle Formel Bereich N/A
A29=TEIL(A28;SUCHEN("C:\";A28);SUCHEN(".xlsm";A28)-SUCHEN("C:\";A28)+5)  



Anzeige
AW: Text in Zelle kürzen
27.10.2019 11:43:21
Peter
Hallo Hajo,
besten Dank für Deine Hilfe.
Funktioniert einwandfrei. Gibt es hierfür auch eine VBA-Lösung?
Gruss
Peter
AW: Text in Zelle kürzen
27.10.2019 12:44:14
Daniel
Hi
Du kannst die selbe Methode auch in VBA anwenden.
"Teil" ist in VBA die Funktion "Mid" und "Suchen" ist "InStr", wobei bei InStr die Reihenfolge der Parameter getauscht ist.
Gruß Daniel
AW: Text in Zelle kürzen
27.10.2019 12:07:58
Daniel
Hi
wenn viele Zellen betroffen sind, ersetzte mit der Menüfunktion Ersetzen
- "* C:" durch "C:"
- ".xlsm *" durch ".xlsm"
Das lässt sich auch einfach in VBA durchführen
cells.replace "* C:", " C:", xlpart
Cells.replace ".xlsm *", " .xlsm", xlpart
Gruß Daniel
Anzeige
AW: Text in Zelle kürzen
27.10.2019 13:38:53
Peter
Hallo Daniel,
jetzt bin ich völlig durcheinander.
Kannst Du mir bitte den Code schreiben, welcher über VBA korrekt die Zelle entsprechend umschreibt.
Besten Dank
Gruss
Peter
AW: Text in Zelle kürzen
27.10.2019 14:01:15
Hajo_Zi
Hallo Peter,
ersetze Cells durch Range("Az325")
Gruß Hajo
AW: Text in Zelle kürzen
27.10.2019 14:31:58
Daniel
Welche Zelle?
Excel hat mehr Zellen, als es mit seiner normalen Zählfunktion Zählen kann.
Gruß Daniel
AW: Text in Zelle kürzen
27.10.2019 16:20:07
Peter
Hallo Daniel,
konkret geht es hier um die Zelle E4 die getrennt wird und eingefügt in E16.
Gruss
Peter
AW: Text in Zelle kürzen
27.10.2019 17:00:51
Peter
Hallo Daniel,
hast Du es so gemeint?!
<pre>Sub Text_kuerzen()
Dim str As String
str = Worksheets("Tabelle1").Range("E5")
str = Right(str, Len(str) - InStr(1, str, " C:"))
str = Left(str, InStr(1, str, " Tabelle") - 1)
Worksheets("Tabelle1").Range("E17") = str
End Sub</pre>
Bei Left habe ich noch "Bauchweh" bezüglich Tabelle.
Gruss
Peter
Anzeige
AW: Text in Zelle kürzen
27.10.2019 17:14:10
Daniel
Hi
Ja in etwa so.
Statt Right mit Len kannst du auch einfach Mid nehmen und den 3.Parameter weglassen. VBA gibt dir dann den ganzen Restszring ab der angegebenen Position zurück.
Wieso hast du Bauchschmerzen mit Tabelle und Left?
Wenn der Suchtext links von der Trennstelle steht, muss man halt noch die Länge des Suchtextes hinzuadieren.
Gruß Daniel
AW: Text in Zelle kürzen
27.10.2019 17:20:18
Peter
Hallo Daniel,
besten Dank.
Kannst Du mir das mit Mid bitte aufschreiben.
Gruss
Peter
AW: Text in Zelle kürzen
27.10.2019 17:55:21
Peter
Hallo Daniel,
habe jetzt dieses Makro:
<pre>Sub Text_kuerzen2()
Dim str As String
str = Worksheets("Tabelle1").Range("E5")
str = Mid(str, InStr(str, " C:") + 1)
str = Left(str, InStr(1, str, " Tabelle") - 1)
Worksheets("Tabelle1").Range("E17") = str
End Sub</pre>
Entspricht dies jetzt dem was Du gemeint hast?
Gruss
Peter
Anzeige
warum fragst Du Daniel? passt es oder nicht...
27.10.2019 18:24:15
robert
..das ist die Frage...
sonst wieder einmal-Ende nie...
AW: warum fragst Du Daniel? passt es oder nicht...
27.10.2019 18:58:31
Peter
Hallo Robert,
etwas anderes habe ich von Dir nicht erwartet.
Anstatt so dumm herumzuschreiben, wäre es in diesem Forum angebracht, klare eindeutige Angaben zu machen.
Wenn Du nichts anderes kannst, dann lass es einfach bleiben.
Gruss
Peter
Wenn dein Pgm fktioniert, ...
27.10.2019 19:27:32
Luc:-?
…Peter,
erübrigt sich doch deine Frage! Etwas Anderes hat Robert ja auch nicht gemeint. Kein Grund also für deinen unterirdischen Kommentar.
Luc :-?
Als Tabellenformel, die auch <leer> berücksichtigt
28.10.2019 07:12:49
lupo1
=GLÄTTEN(TEIL(A1;FINDEN("C:\\";A1);FINDEN(".xls";A1)-FINDEN("C:\\";A1)+5))
Das GLÄTTEN gibt so auch
.xls
.xlsx
.xlsm
.xlsb
usw. zurück.
AW: Als Tabellenformel, die auch <leer> berücksichtigt
29.10.2019 08:06:16
Peter
Hallo Lupo,
geht das auch mit VBA?
Ich habe das Problem mit der bisherigen Version, dass nur ein Auslesewert funktioniert mit Left.
Da aber ggf. viele Felder ausgelesen werden und ich nur den 1. Wert benötige wie es bei Deiner Formel funktioniert, wäre es toll, wenn Du mir sagen könntest, wie dies per VBA funktioniert.
Ich lese die Daten aus Worddokument aus Übertrage den Wert in eine Zelle spalte den Wert entsprechend dem bisherigen Code aus und übertrage diesen Wert in die nächste Zelle. Die vorherige Zelle wird Inhalt gelöscht.
Besten Dank für Deine Hilfe.
Gruss
Peter
AW: Als Tabellenformel, die auch <leer> berücksichtigt
01.11.2019 10:43:24
Werner
Hallo Peter,
sorry, aber mir stellt sich jetzt auch die Frage weshalb der Beitrag noch offen ist. Du hast doch jetzt schon zig funktionierende Lösungsvorschläge, sowohl Formellösungen als auch per Makro?
Trotzdem nochmal:
Sub Makro1()
'Lösung von Daniel mit Replace
Range("E16") = Range("E4")
Range("E16").Replace "* C:", " C:", xlPart
Range("E16").Replace " Tabelle*", "", xlPart
End Sub
Sub Makro2()
'Formellösung in VBA umgesetzt
Range("E16") = _
Trim(Mid(Range("E4"), InStr(Range("E4"), "C:\"), InStr(Range("E4"), ".xls") _
- InStr(Range("E4"), "C:\") + 5))
End Sub
Gruß Werner
in einem anderen Beitrag....
02.11.2019 11:18:24
Werner
Hallo Peter,
...konntest du antworten... hier scheint es nicht zu klappen.
Gruß Werner

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige