1.3k Aufrufe
Gefragt in Tabellenkalkulation von xquer Einsteiger_in (11 Punkte)
Hallo,
ich weiss nicht, ob man dies mit einem Makro machen kann oder es eventuell sogar eine viel einfachere Lösung gibt:

Wir müssen immer wieder bis zu 600 Werte auf ein Tabellenblatt übertragen. Da sich die Werte nur bei den letzten beiden Ziffern ändern, wäre es natürlich peppig, dass man auch nur die letzten beiden Ziffern eingeben müsste und der Wert automatisch beim Verlassen der Zelle ergänzt wird.
Ich gebe also 49 ein, drücke Return und es erscheint 1,649.

Weiss jemand Rat?

Danke euch im Voraus!
Jürgen

3 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Jürgen,

folgender Code verwirklicht Dein Ansinnen im Bereich A1:A100, kann beliebig verändert werden.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
Target.Value = Target.Value / 1000 + 1.6
End If
Application.EnableEvents = True
End Sub


Gruss
Rainer
0 Punkte
Beantwortet von xquer Einsteiger_in (11 Punkte)
Hallo Rainer,

vielen Dank -auch im Namen meiner Kollegen- für die prompte Lösung. Es fuktioniert so, wie wir uns es vorgestellt haben und sparen dadurch jede Menge Zeit.

Grüße
Jürgen
0 Punkte
Beantwortet von jonesm Mitglied (191 Punkte)
Die Lösung ohne Makro:
Die betreffenden Zellen formatieren als Zahlen und "Benutzerdefiniert" auswählen. Die Formatierung folgendermassen eingeben:
"1,6"00

Der Nachteil hierbei ist, dass dann nur der Wert der 3. und 4. Nachkommastelle zur weiteren Berechnung zur Verfügung steht (die beiden eingegeben Zahlen) und man ggf. mit Hilfsspalten weiterrechnen muss. Z.B.:
=1,6+(A1/1000)

VG Thomas
...