Clever-Excel-Forum

Normale Version: Spalte auf Signalname reduzieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo liebe Community,

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.

Vielen Dank im Voraus .
Hi
 
Wie erklärt sich den der Unterschied im Wunschergebnis von C19-21 zu C25.
 
Gruß Elex
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, 09: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
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.

Gruß Elex
Danke Euch zwei für die Antwort :)
@Elex, ja das wäre sehr lieb, wenn du die Datei hochlädst.
Hi
 
einfach testen welche Variante an deine Daten die besseren Ergebnisse bringt.

Gruß Elex
Hi,

blöde Frage wie kann ich die Formel auf die originale Datei anwenden ?
Hi
 
Am einfachsten wenn du dein Tabellenblatt in meine Datei  kopierst und dann die Datei umbenennst und nutzt.

Sonst ein Modul in deiner Datei anlegen und den Code aus meiner dort einfügen.
http://www.excel-perte.de/ein-makro-in-e...ausfuhren/

Gruß Elex
Code:
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"
Seiten: 1 2