Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spalte auf Signalname reduzieren
#1
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 .


Angehängte Dateien
.xlsx   Beispielmappe.xlsx (Größe: 12,14 KB / Downloads: 18)
Antworten Top
#2
Hi
 
Wie erklärt sich den der Unterschied im Wunschergebnis von C19-21 zu C25.
 
Gruß Elex
Antworten Top
#3
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"
Antworten Top
#4
(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
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#5
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
Antworten Top
#6
Danke Euch zwei für die Antwort :)
@Elex, ja das wäre sehr lieb, wenn du die Datei hochlädst.
Antworten Top
#7
Hi
 
einfach testen welche Variante an deine Daten die besseren Ergebnisse bringt.

Gruß Elex


Angehängte Dateien
.xlsm   Beispiel 2.xlsm (Größe: 17,21 KB / Downloads: 2)
Antworten Top
#8
Hi,

blöde Frage wie kann ich die Formel auf die originale Datei anwenden ?
Antworten Top
#9
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
Antworten Top
#10
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"
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste