excelrookie
Goto Top

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!

Content-ID: 571450

Url: https://administrator.de/contentid/571450

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

emeriks
emeriks 13.05.2020 um 11:23:11 Uhr
Goto Top
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.
lcer00
lcer00 13.05.2020 um 11:28:47 Uhr
Goto Top
Hallo,

wenn das nur einmalig gemacht werden muss, würde ich in so einem Fall einen Editor nehmen, der Regex spricht. Z.B. Notepad++ das geht oft schneller. wenn es ein Feature der Excel-Datei sein soll, dann eher ein VBA-Makro. Über Excel-Funktionen würde ich das nicht machen.

Grüße

lcer
excelrookie
excelrookie 13.05.2020 um 11:33:38 Uhr
Goto Top
Das dachte ich mir schon, hättest du denn eine Lösung für meine erste Anforderung?
excelrookie
excelrookie 13.05.2020 um 11:34:10 Uhr
Goto Top
Hallo,

nein leider mehrere tausende von Daten ....

LG
emeriks
Lösung emeriks 13.05.2020 aktualisiert um 11:56:38 Uhr
Goto Top
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)"

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.
lcer00
lcer00 13.05.2020 um 11:43:35 Uhr
Goto Top
Hallo,
Zitat von @excelrookie:

Hallo,

nein leider mehrere tausende von Daten ....
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
eisbein
eisbein 13.05.2020 um 11:48:21 Uhr
Goto Top
Hallo,

Die Matrixformel könnte hilfreich sein:

=RECHTS(A1;VERGLEICH(2;1/(FINDEN(TEIL(A1;LÄNGE(A1)-ZEILE(INDIREKT("1:"&LÄNGE(A1)))+1;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ"))))  

Die Funktion mit Strg+Shift+ENTER bestätigen

Der Text muss in A1 stehen.

Gruß
eisbein
excelrookie
excelrookie 13.05.2020 aktualisiert um 12:13:21 Uhr
Goto Top
Hallo Icer,

da hast du Recht - habe mich leider schlecht ausgedrückt.. handelt sich derzeit um "noch" 3000 Zellen.
Da gab es schon so viele Diskussionen, aber leider schaffen es einige Leute noch immer auf deren Tastatur auszurutschen.

Gruß Phil

Edit: Natürlich in einem Dokument. Entschuldige!
excelrookie
excelrookie 13.05.2020 um 11:59:27 Uhr
Goto Top
Hallo,

spontan einfach mal deine Version getestet und funktioniert 1A!
Danke sehr - glaubst du gibt es auch die Möglichkeit eine Formel zu erstellen (ähnlich, wie bei den exportieren von Vor- und Nachnamen aus einer Mail), die mir auch ohne einen Anhaltspunkt ("." oder "-" oder "_") den Vor- und Nachnamen exportieren können.

Man könnte denk ich immer den 1. großen Buchstaben als Vornamen und dementsprechend den 2. großen Buchstaben als Nachnamen "definieren".

Gruß und Dank,
Phil
excelrookie
excelrookie 13.05.2020 um 12:00:19 Uhr
Goto Top
Sehr gut, funktioniert prima!

Danke sehr - glaubst du gibt es auch die Möglichkeit eine Formel zu erstellen (ähnlich, wie bei den exportieren von Vor- und Nachnamen aus einer Mail), die mir auch ohne einen Anhaltspunkt ("." oder "-" oder "_") den Vor- und Nachnamen exportieren können.

Man könnte denk ich immer den 1. großen Buchstaben als Vornamen und dementsprechend den 2. großen Buchstaben als Nachnamen "definieren".

Gruß und Dank,
Phil
eisbein
eisbein 13.05.2020 aktualisiert um 12:22:05 Uhr
Goto Top
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 face-wink

https://it-service-ruhr.de/tipp/text-in-einer-excel-zelle-auf-mehrere-ze ...
excelrookie
excelrookie 13.05.2020 um 12:29:45 Uhr
Goto Top
Mittels diesem Link werden mir irgendwie nur Fehler in Excel ausgespuckt.
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 ....
LG
eisbein
Lösung eisbein 13.05.2020 aktualisiert um 12:49:03 Uhr
Goto Top
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 face-wink
excelrookie
excelrookie 13.05.2020 um 18:37:18 Uhr
Goto Top
Nach welchem Trennzeichen soll ich denn gehen?

Momentan sehen meine Namen so aus: ArianneMilestrgs

LG
eisbein
eisbein 14.05.2020 um 06:00:58 Uhr
Goto Top
Guten Morgen,

Momentan sehen meine Namen so aus: ArianneMilestrgs

In deiner Problembeschreibung war das noch ganz anders .....

tlInsa
fhtu_Becker_BeckerxX
ghlvJohan.Jacobsen
glwKenneth.Gaither
yzhaRalph.Root

Da gibt es _ und . als Trennzeichen! Was soll es nun sein?

Gruß
eisbein