1.2k Aufrufe
Gefragt in Tabellenkalkulation von fedjo Experte (2.2k Punkte)
Hallo Excelfreunde,
bräuchte mal wieder Eure Hilfe.

Wie kann aus der aktiven Zelle (Selection) alle Zahlen ab einem Sonderzeichen (, .) gelöscht werden ?

5,000 anzeigen 5
40.00 anzeigen 4

Gruß
fedjo

7 Antworten

0 Punkte
Beantwortet von flupo Profi (17.7k Punkte)
Hast du die Null nach der Vier vergessen oder hab ich da was falsch
verstanden?
Wenn du immer nur das erste Zeichen haben willst, geht das einfach.
Wahrscheinlich ist es aber etwas komplizierter.

Mögliche Probleme:
- Zahlen und Zeichenfolgen müssen unterschiedlich behandelt werden.
Man muss also wissen, was in der Zelle steht.
- Das angezeigte Sonderzeichen muss nicht zwingend auch in der Zelle
stehen. Es kommt da oft vor, dass diese Zeichen über das Zellformat
definiert werden.
- Es ist auch möglich, das Zellformat so zu ändern, dass nur ein Teil des
Inhaltes angezeigt wird, der Inhalt aber unverändert bleibt.

Du siehst, wir brauchen mehr Input.

Gruß Flupo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Flupo,
die Null hab ich nicht vergessen, es sind immer eine oder zwei Zahlen, kann auch eine Null mit dabei sein 10,00 20,00.
Die Zahlen werden aus einer Transaktion vom SAP kopiert.
Mit dem Zellformat hab ich es schon versucht, ohne Erfolg.


Gruß
fedjo
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi Fedjo,

leider bin ich nicht so im Thema drin um zu wissen, wie Deine Daten aussehen.

Sollten diese im Textformat vorliegen, so könntest Du unter Daten (Excel 2013) - Text in Spalten - zumindest zwei oder drei Sonderzeichen zum filtern setzen.

Sobald ein Durchgang mit der Trennung vorgenommen wurde, kann in dem Feld - andere (unterste) in das Kästchen ein anderes Sonderzeichen Deiner Wahl eingetragen werden und alle Daten werden danach durchsucht.

Man könnte das auch mit dem Makrorecorder gut aufzeichnen und immer unter OtherChar:= "(Sonderzeichen Deiner Wahl)",... könntest Du Dein weiteres Sonderzeichen eintragen, so dass mit dem kleinen Makro alle Daten gefiltert würden.


Markroauszug:
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
Semicolon:=True, Comma:=True, Space:=True, Other:=True, OtherChar:= _
".", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True

Solltest Du allerdings mehrere Sonderzeichen in einer zu filternden Informationen haben, dann wird es hiermit schwierig....

Vielleicht konnte ich Dir hiermit aber zumindest ansatzweise helfen und in diesem Sinne... have a nice Day... Gruß Helmut
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Helmut,
danke für deine ausführliche Information,
hab mich für ein Makro aus dem Internet entschieden:

Sub Sonderzeichen()
Dim arrTextNeu
Dim Zelle As Range
For Each Zelle In Range("H3:H100000")
If InStr(Zelle.Value, ",") > 0 Then
arrTextNeu = Split(Zelle.Value, ",")
Zelle.Value = arrTextNeu(0)
End If
Next Zelle
End Sub

Gruß
fedjo
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

noch eine variante

gruss nighty


Sub SonderzeichenLoeschen()
Dim zeichen As Long, zaehler As Long, Eindex As Long
Dim Sarray() As Variant
Sarray() = Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
Eindex = UBound(Sarray())
For zaehler = 1 To Eindex
For zeichen = 1 To Len(Sarray(zaehler, 1))
If Mid(Sarray(zaehler, 1), zeichen, 1) Like "[0-9]" = True Then
Stext = Stext & Mid(Sarray(zaehler, 1), zeichen, 1)
End If
Next zeichen
Sarray(zaehler, 1) = Stext
Stext = ""
Next zaehler
Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row) = Sarray()
End Sub
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hi nighty,
danke für deinen Vorschlag.
Die Variante funktioniert nicht nach meiner Vorstellung.

kopie Variante Soll

2,00 200 2
10,00 1000 10
10,01 1001 10
10,02 1002 10
10,03 1003 10
10,04 1004 10
10,05 1005 10

Gruß
fedjo
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

zeichenkette sollte den Erfordernissen angepsst werden

fuege bei

Like "[0-9]"

ein komma hinzu :-)

Like "[0-9,]"

gruss nighty
...