Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1772to1776
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Teilstring in Zellen suchen & löschen

Teilstring in Zellen suchen & löschen
18.07.2020 12:20:05
Michael
Hallo Zusammen,
in einer Excel-Liste muss ich in zwei bis drei Spalten in jeder Zelle den Inhalt prüfen:
wenn das Zeichen: _ gefunden wird, soll der Unterstrich und der Rest erntfernt werden.
zB.: Test_123 wird gefunden, _123 soll gelöscht werden. Übrig bleibt der String Test.
Vielen Dank für Eure Unterstützung
Michael

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilstring in Zellen suchen & löschen
18.07.2020 12:55:36
Herbert_Grom
Hallo Michael,
wenn in A1 dein String steht, kannst du das mit dieser Formel in B1 lösen:
=WENN(ISTFEHLER(FINDEN("_";A1));"";LINKS(A1;FINDEN("_";A1)-1))
Servus
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:12:59
Michael
Hallo Herbert,
da ich viele Zellen in einer Excel-Liste prüfen muss, kommt eigentlich nur eine VBA-Lösung in Betracht.
Für andere Aufgaben habe mir Deine Formel gerne notiert.
Vielen Dank und Gruß
Michael
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:16:36
Herbert_Grom
Hallo Michael,
ist das Ergebnis, so wie ich es gerechnet habe, richtig?
Servus
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:36:39
Herbert_Grom
Hallo Michael,
da du mir nicht antwortest, habe ich es mal so gemacht, wie ich es denke:
Sub DatenSamnmeln()
Dim iRowIn%, iRowOut%, iLastRow%
With Sheets(2)
iLastRow = .Cells(Rows.Count, 1).End(xlUp).Row
For iRowOut = 2 To iLastRow
If Cells(iRowOut, 9)  Cells(iRowOut, 2) Then
If Cells(iRowOut, 8) = "" Then
If DateValue(.Range("B" & iRowOut).Value) 
Servus
Anzeige
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:38:48
Herbert_Grom
Hallo Michael,
sorry, aber da war ich auf der falschen Baustelle!
Servus
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:46:37
Michael
Hallo Herbert,
kein Problem. Ich habe Code eh nicht verstanden!
Gruß
Michael
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:09:39
Daniel
Hi
Ersetze mit der Menüfunktion ERSETZEN _* durch nichts, Haken "gesamten Zellinhalt vergleichen nicht setzen.
Ersetzen kennt die Joker ? und *
Andere Möglichkeit, diese muss aber für jede Spalte einzeln angewendet werden:
Verwende DATEN - DATENTOOLS - TEXT IN SPALTEN mit dem Unterstrich als Trennzeichen und Übernehme nur die erste Spalte.
Gruß Daniel
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:15:04
Michael
Hallo Daniel,
ist auch eine VBA-Lösung möglich?
Gruß und vielen Dank
Michael
Anzeige
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:20:28
Daniel
Hi
Du kannst fast alles, was du über Excel-Menüfunktionen ausführen kannst, auch per Makro ausführen lassen.
Wenn du den notwendigen VBA-Befehl nicht kennst, hilft dir der Makrorecorder weiter.
Gruß Daniel
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:24:05
Michael
Hallo Daniel,
dann muss ich aber in der Excel-Liste mehrere Leerspalten einfügen.
Ich habe mich schon selber an einer VBA-Lösung versucht, leider klappt es einfach nicht so richtig.
Gruß
Michael
AW: Teilstring in Zellen suchen & löschen
18.07.2020 14:32:30
Daniel
Warum musst du dann Leerspalten einfügen?
Wie sieht dein Versuch aus?
Nööö…
18.07.2020 15:39:02
Günther
und "eigentlich ja" heißt bekanntlich "eigentlich nein". ;-)
Mit deiner 2016er-Version (oder neuer) kannst du ganz ohne VBA über Daten | Abrufen und transformieren gehen und dann über das Menü Transformieren alles nach einem definierten Trennzeichen abschneiden. Ohne Formel, ohne Code.
 
Gruß
Günther  |  mein Excel-Blog
Anzeige
AW: Teilstring in Zellen suchen & löschen
18.07.2020 13:55:20
Herbert_Grom
Hallo Michael,
wenn die zu prüfenden Spalten A & B sind, geht es damit:
Sub TeilStringLöschen()
Dim iLastRow%, iCount%
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For iCount = 1 To iLastRow
If InStr(1, Range("A" & iCount), "_")  0 Then Range("A" & iCount).Value = _
Left(Range("A" & iCount), InStr(1, Range("A" & iCount), "_") - 1)
If InStr(1, Range("B" & iCount), "_")  0 Then Range("B" & iCount).Value = _
Left(Range("B" & iCount), InStr(1, Range("B" & iCount), "_") - 1)
Next iCount
End Sub
Servus
Prima
18.07.2020 14:22:23
Michael
Hallo Herbert,
das Ergebnis und die Geschwindigkeit: SUPER
Vielen Dank für Deine schöne Lösung.
Gruß
Michael
Anzeige
AW: Teilstring in Zellen suchen & löschen
18.07.2020 14:17:00
Gerd

range("a:c:).replace "_*", "", xlpart

Gruss Gerd, ungetestet
kurz und bündig
18.07.2020 14:27:13
Michael
Hallo Gerd,
sehr beindruckend, wir dieser kurze Code die Aufgabe löst!
Vielen Dank.
Michael
AW: kurz und bündig
18.07.2020 14:31:14
Daniel
Mit dem Recorder hättest du das selber rausgefunden und hättest nicht warten müssen, Bus dir das einer zeigt
nicht ganz
18.07.2020 14:54:19
Michael
aber nur fast:
Sub Makro1()
Range("A1:A22").Select
Selection.Replace What:="_*", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

Na ja ...
18.07.2020 15:07:08
lupo1
Rekorder verwenden heißt nicht nur aufzeichnen, sondern auch am Ergebnis lernen.
Vor allem, was man von den Argumenten löschen kann.
Anzeige
AW: nicht ganz
18.07.2020 15:29:22
Daniel
Wichtig ist, dass du rausfindest, dass der Befehl "Replacee" heißt .
Der Rest ist Basiswissen, das man immer anwenden kann:
1. Select/Selection ist unnötig , wenn man den Befehl direkt an das Objekt anhängt
2. Man muss nicht immer alle Parameter eines Befehls angeben
3. Wenn man die Parameter in der richtigen Reihenfolge angibt, darf man die Benennung weglassen (what:=; replacement:=, ...)
Mit dem Reorder kannst du viel selberrausfinden, ohne jedesmal im Forumfragen zu müsssen.
Geuß Daniel

236 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige