ich bin neu hier und habe ein Problem in Excel und hoffe irgendwer kann mir behilflich sein.
Und zwar habe ich eine Excel-Liste wo ich die letzte Spalte auf Signalname reduzieren möchte. Die Signalname kennzeichnen sich meistens dadurch, dass sie aus einer Zeichenkette mit " _ " bestehen. Das Problem ist, dass die jeweiligen Signalnamen immer an verschiedener Stellen im Text sind. Habe Euch im Anhang eine Beispielmappe hochgeladen, wie ich das gerne hätte.
Upps, da ist mir ein Fehler in C24 und C25 unterlaufen. C24 soll natürlich so lauten: " FM-MMR_RM-SSBW_DTQ_SpW_Status-01.04 und C25 so: " FM-LRR-SSBW_DTQ_SpW_Status-01.01"
(05.02.2019, 10:33)ensso schrieb: Die Signalname kennzeichnen sich meistens dadurch, dass sie aus einer Zeichenkette mit " _ " bestehen.
Hm, das Problem ist wohl noch nicht so richtig durchdacht.
Was meinst du "meistens"?
Und warum ist das Wunschergebnis für Zeile 15: FM-MMR_RM-SSBW_DTQ_SpW_Status
Eigentlich gibt es sieben Treffer auf die das Kriterium "enthält _" zutrifft. ÜN_Gen4_## FM-MMR_RM-SSBW_DTQ_SpW_Status-01.01:Auf MMR_RM MMR_RM_TrackObj_NN_Id MMR_RM_TrackObj_NN_Dist_X MMR_RM_TrackObj_NN_Dist_Y MMR_RM_TrackObj
Wir sehen uns! ... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
05.02.2019, 20:00 (Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2019, 20:39 von Elex.)
Hi
die Funktion bringt Ergebnisse wie in Spalte C vorgegeben. Den Code in ein allgemeines Modul kopieren. Dann einfach in eine Zelle schreiben. =Trennen(A2)
Code:
Public Function Trennen(txt As String) If InStr(1, txt, "##") Then txt = Trim(Split(txt, "##")(1)) Else txt = Split(txt, "]")(1) End If
If InStr(1, txt, "_") Then txt = Split(Replace(txt, ":", " "), " ")(0) Else txt = "kein Signalname" End If Trennen = txt End Function
Sollte dir die Verwendung nicht klar sein, kann ich dir auch die Datei hochladen.
Sub meinProjekt() Public Function Trennen(txt As String) If InStr(1, txt, "##") Then txt = Trim(Split(txt, "##")(1)) Else txt = Split(txt, "]")(1) End If If InStr(1, txt, "_") Then txt = Split(Replace(txt, ":", " "), " ")(0) Else txt = "kein Signalname" End Function End Sub
So habe ich es versucht aber bekomme die Fehlermeldung wenn ich auf Kompilieren klicke : "End Sub erwartet"