Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Löschen von Werten per Formel

Löschen von Werten per Formel
13.04.2017 11:33:35
Werten
Hallo,
ich habe einen Tabelle mit Eintrag in Spalte a1 bspw:
249-251,828-829-844,828-829-883,1659,1670-1684-1808,828-829-883,1957-1941-1932
Übrig bleiben sollen kommagetrennt nur noch Werte, die nicht mit 828 anfangen:
Also:
249-251,1659,1670-1684-1808,1957-1941-1932
Ist das irgendwie per Formel möglich?
Danke und Grüße
Stefan
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen von Werten per Formel
13.04.2017 12:14:49
Werten
Hallo Stefan,
probiers mal damit:
Sub Wandel()
Dim ls As Double
Dim i As Integer
Dim Wert As Double
ls = Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To ls
If IsEmpty(Cells(1, i)) Then
Else
Wert = Left(Cells(1, i).Value, 3)
If Wert = 828 Then
Range(Cells(1, i), Cells(1, i)).Select
Selection.Delete
i = i - 1
End If
End If
Next i
End Sub
Gruß Jonas
Anzeige
VERBESSERTE VERSION
13.04.2017 12:23:17
Jonas
Hier noch mal eine verbesserte Version um Fehlern vorzubeugen.
Sub Wandel()
Dim ls As Double
Dim i As Integer
Dim Wert As Double
ls = Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To ls
If IsEmpty(Cells(1, i)) Then
If IsEmpty(Cells(1, i + 1)) Then
Else
Range(Cells(1, i), Cells(1, i)).Select
Selection.Delete Shift:=xlToLeft
End If
Else
Wert = Left(Cells(1, i).Value, 3)
If Wert = 828 Then
Range(Cells(1, i), Cells(1, i)).Select
Selection.Delete Shift:=xlToLeft
i = i - 1
End If
End If
Next i
End Sub

Anzeige
AW: VERBESSERTE VERSION
13.04.2017 15:37:29
Stefan
Hi,
erst einmal vielen Dank!
Bei mir stopptr das mit dem HinweiS
LAUFZEITFEHLER, 13
Typen unverträglich
Wenn ich auf Debuggen gehe, wird die Zeile
Wert = Left(Cells(1, i).Value, 3)
markiert.
Ich hänge mal mein Dokument an.
https://www.herber.de/bbs/user/112861.xlsx
Vielen Dank nochmals für Dein eHilfe.
Grüße
Stefan
Anzeige
AW: VERBESSERTE VERSION
13.04.2017 15:52:09
Jonas
Hallo Stefan,
das liegt vermutlich daran das die Werte alle in einer Zelle stehen.
Das tut mir leid das habe ich überlesen.
Ich bin davon ausgegangen das das die Werte in einzelnen Zellen stehen.
Gibt jetzt zwei Möglichkeiten:
1. Du importierst die kommagetrennten aus einer .csv dann sieht Excel das als Zellenbegrenzung und liest das in einzelne Zellen. Dann lässt du die Makro laufen und dann exportierst du das ganze wieder und sagst das es kommagetrennt exportiert werden soll.
2. Ich schreib nen anderen Code :) (Ist denk ich einfacher)
Und Entschuldige das ich das falsch verstanden habe.
Gruß Jonas
Anzeige
AW: VERBESSERTE VERSION
13.04.2017 16:25:09
Jonas
Ok nimm am besten den Code von Hansueli
der ist um Längen besser ;)
AW: Löschen von Werten per Formel
13.04.2017 16:01:59
Werten
Hallo Stefan,
Ich glaub nicht mit einer einfachen Formel. Ev. mit einem Formelmonster.
Einfacher wäre hier eine UDF, diesen Code in ein Modul
Function RemoveBeginn(Bezug As Range, NichtBeginnendMit As String) As Variant
Dim tmp, Lx As Long, outputText As Variant
tmp = Split(Bezug, ",")
For Lx = LBound(tmp) To UBound(tmp)
If Not Left(tmp(Lx), Len(NichtBeginnendMit)) = NichtBeginnendMit Then
outputText = outputText & tmp(Lx) & ","
End If
Next Lx
RemoveBeginn = Left(outputText, Len(outputText) - 1)
End Function

Dann mit der Formel (ab A2) =RemoveBeginn(A2;828) und runterkopieren.
Gruess Hansueli
Anzeige
AW: Löschen von Werten per Formel
13.04.2017 16:35:36
Werten
Dankeschön! Ich teste das mal!
Euch allen ein schönes Osterfest!
Stefan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige