Zufällig getippte Stränge vor erstem großen Buchstaben löschen mittels Makros
Hallo liebe Community,
ich habe vor kurzem ein Excel Sheet erstellt in dem ich aus folgenden Zellen die Zeichen, die vor dem ersten großen Buchstabe stehen, entfernt werden sollen.
tlInsa
fhtu_Becker_BeckerxX
ghlvJohan.Jacobsen
glwKenneth.Gaither
yzhaRalph.Root
Das heißt "tl oder ghlv ...." solle automatisiert gelöscht werden.
Ich habe es schon versucht mit: =RECHTS(C16;SUCHEN("I";C16)+1)
Das funktioniert derzeit aber leider nur für Cases mit "I". Vielleicht hat da jemand einen Tipp oder kann mir bei Gelegenheit helfen.
Und zusätzlich frage ich mich ob auch die nachstehenden Wörter (siehe fhtu_Becker_BeckerxX) "xX" entfernt werden können?
Ich hoffe ich habe mich klar ausgedrückt und freue mich auf eure Tipps!
ich habe vor kurzem ein Excel Sheet erstellt in dem ich aus folgenden Zellen die Zeichen, die vor dem ersten großen Buchstabe stehen, entfernt werden sollen.
tlInsa
fhtu_Becker_BeckerxX
ghlvJohan.Jacobsen
glwKenneth.Gaither
yzhaRalph.Root
Das heißt "tl oder ghlv ...." solle automatisiert gelöscht werden.
Ich habe es schon versucht mit: =RECHTS(C16;SUCHEN("I";C16)+1)
Das funktioniert derzeit aber leider nur für Cases mit "I". Vielleicht hat da jemand einen Tipp oder kann mir bei Gelegenheit helfen.
Und zusätzlich frage ich mich ob auch die nachstehenden Wörter (siehe fhtu_Becker_BeckerxX) "xX" entfernt werden können?
Ich hoffe ich habe mich klar ausgedrückt und freue mich auf eure Tipps!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 571450
Url: https://administrator.de/contentid/571450
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
15 Kommentare
Neuester Kommentar
Hi,
die erste Anforderung würde ich einfach über ein VBA-Makro erschlagen.
Die zweite ist nicht eindeutig umsetzbar, weil definiert werden muss, wie der Anfang des zu entfernenden Endes erkannt werden soll. Wie soll z.B. erkannt werden, dass bei "fhtu_Becker_BeckerxX", das kleine "x" in "xX" schon zum zu entfernenden Teil gehört?
E.
die erste Anforderung würde ich einfach über ein VBA-Makro erschlagen.
Die zweite ist nicht eindeutig umsetzbar, weil definiert werden muss, wie der Anfang des zu entfernenden Endes erkannt werden soll. Wie soll z.B. erkannt werden, dass bei "fhtu_Becker_BeckerxX", das kleine "x" in "xX" schon zum zu entfernenden Teil gehört?
E.
Zitat von @excelrookie:
Das dachte ich mir schon, hättest du denn eine Lösung für meine erste Anforderung?
Erstelle im VBA-Projekt ein Modul. In diesem eine "Public Function RemoveLeadingWaste(Text As String)"Das dachte ich mir schon, hättest du denn eine Lösung für meine erste Anforderung?
Public Function RemoveLeadingWaste(Text As String) As String
Do
If Len(Text) > 0 Then
x = Left(Text, 1)
If Asc(x) >= Asc("A") And Asc(x) <= Asc("Z") Then
Exit Do
End If
Text = Mid(Text, 2)
Else
Exit Do
End If
Loop
End If
RemoveLeadingWaste = Text
End Function
Benutze diese Function in Deiner Formel
= RemoveLeadingWaste(A1)
Edit: Habe den Code noch einmal korrigiert.
Hallo,
Das ist nicht die Frage. Interessant ist, ob das 1x1000 Datensätze oder 10x100 Datensätze sind. Bei nur einer Konvertierung geht das durchaus auch über manuelles Ersetzen im Editor. So wie das aussieht wird es aber eh eine Bastellei, das macht sich besser über Programmcode. Dann kann man zumindest versuchen, verschiedene Fallkonstellationen separat zu ersetzen. Allerdings wird sicher eine Menge Handarbeit (vor allem wegen des Endes des Strings) anfallen.
Alternative: sorge dafür dass der Mist primär ordentlich eingegeben wird.
Grüße
lcer
Das ist nicht die Frage. Interessant ist, ob das 1x1000 Datensätze oder 10x100 Datensätze sind. Bei nur einer Konvertierung geht das durchaus auch über manuelles Ersetzen im Editor. So wie das aussieht wird es aber eh eine Bastellei, das macht sich besser über Programmcode. Dann kann man zumindest versuchen, verschiedene Fallkonstellationen separat zu ersetzen. Allerdings wird sicher eine Menge Handarbeit (vor allem wegen des Endes des Strings) anfallen.
Alternative: sorge dafür dass der Mist primär ordentlich eingegeben wird.
Grüße
lcer
Man könnte denk ich immer den 1. großen Buchstaben als Vornamen und dementsprechend den 2. großen Buchstaben als Nachnamen "definieren"
Dafür gibt es in Excel bereits die eingebaute Funktion Text in Spalten, das muss man nicht neu erfinden
https://it-service-ruhr.de/tipp/text-in-einer-excel-zelle-auf-mehrere-ze ...
werden mir irgendwie nur Fehler in Excel ausgespuckt
Welche Fehler?
Ich vermute, du nimmst die Zellen, in der du die Formel eingetragen hast - das geht natürlich nicht.
Kopiere diese Zellen mit STRG + C und füge sie mit STRG" + Alt + V in einer neuen Spalte als Werte ein.
Wenn es einen Abstand gäbe wäre es einfach, da aber kein Abstand gegeben ist - muss man denke ich mit großen Buchstaben arbeiten und das sprengt derzeit noch meinen Rahmen als Anfänger ....
Bei den Optionen der Funktion Text in Spalten kann man verschiedenste Trennzeichen definieren und kombinieren - einfach anklicken bzw. ergänzen.
Gruß
eisbein
Edit: Diese Schritte könnte man als Makro aufzeichnen