Herbers Excel-Forum - das Archiv

Zahlenmanupilation - Abschneiden/Anfuegen

Bild

Betrifft: Zahlenmanupilation - Abschneiden/Anfuegen
von: IT04-Chris

Geschrieben am: 09.01.2007 14:58:41
Hallo zusammen,
ich habe das Problem, dass ich immer wieder bei groesseren Listen, eine ganze Reihe von Zahlen editieren muss. Dies geschieht so dass immer von jeder Zahl einer Spalte die letzten beiden Ziffern abgeschnitten werden soll und anschliessend zweimal die Ziffer 0 angehaengt werden soll.
Dies sieht dann so aus:
Zahl 12345678
Abschneiden 123456
Anfuegen 12345600
Gibt es hierfuer irgendeine Idee wie sich das schneller als manuell fuer jede Zahl einzeln realisieren laesst?
Leider besitze ich keinerlei VB Kenntnisse kenne mich aber in VB gut aus.
Ich wuerde mich ueber schnelle Hilfe freuen.
Bild

Betrifft: AW: Zahlenmanupilation - Abschneiden/Anfuegen
von: Sylvio
Geschrieben am: 09.01.2007 15:12:01
Hallo Chris,
geht auch mit Excelformeln.
in A1 die Zahl und in B1 folgende Formel: =WERT(LINKS(A1;LÄNGE(A1)-2)&"00")
Gruß Sylvio
Bild

Betrifft: AW: Zahlenmanupilation - Abschneiden/Anfuegen
von: Daniel Eisert

Geschrieben am: 09.01.2007 15:15:46
Hallo
- Hilfspalte einfügen
- diese Formel in Hilfsspalte eintragen: =Abrunden(A1;-2)
- Formel in der Hilfspalte ganz nach unten ziehen
- Hilfspalte kopieren
- Kopierte Hilfspalte mit BEARBEITEN-EINFÜGEN-INHALTE-WERTE über die Originalwerte drüberschreiben
- Hilfspalte löschen
Gruß, Daniel
Bild

Betrifft: AW: Zahlenmanupilation - Abschneiden/Anfuegen
von: EtoPHG

Geschrieben am: 09.01.2007 15:18:50
Hallo Chris,
Code in Module:
Sub Schneider()
Dim rCell As Range
For Each rCell In Selection
If IsNumeric(rCell.Value) Then rCell.Value = Int(rCell.Value / 100) * 100
Next
End Sub

Zelle(n) selektieren und laufen lassen...
Gruss Hansueli
Bild

Betrifft: AW: Zahlenmanupilation - Abschneiden/Anfuegen
von: Jürgen K.

Geschrieben am: 09.01.2007 15:21:45
Hallo.
Der folgende Code geht die Zeilen einer Spalte durch bis er auf eine leere Zelle trifft und schneidet dabei die letzten beiden Ziffern des Zelleninhaltes ab und multipliziert den so entstehenden neuen Wert dann mit 100 (es werden also zwei Nullen angehängt).
Der Code funktioniert natürlich nur wenn es sich bei dem Zelleninhalt um eine Zahl (mit mindestens drei Ziffern) handelt.
Sub ZeichenManipulieren()
Dim Zeichen As Variant
Dim InhaltNeu As Variant
Do Until ActiveCell.Value = Empty
Zeichen = Len(ActiveCell.Value) - 2
InhaltNeu = Left(ActiveCell, Zeichen)
ActiveCell.Value = InhaltNeu * 100
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Gruß, Jürgen
Bild

Betrifft: AW: Zahlenmanupilation - Abschneiden/Anfuegen
von: IT04-Chris
Geschrieben am: 09.01.2007 15:37:06
Ein echter Traum.
So eine schnelle und super Loesung.
Vielen Dank
 Bild