Herbers Excel-Forum - das Archiv
Euroumrechnung
Betrifft: Euroumrechnung
von: thomas
Geschrieben am: 14.11.2003 11:35:31
Hallochen!
Ich möchte eine Zelle so formatieren, dass nach Eingabe eines DM-Betrages sofort in Euro-Betrag umgerechnet wird und die Ausgabe soll in die geliche Zelle erfolgen.
Wer kann helfen??
Dank im Voraus
thomas
Betrifft: AW: Euroumrechnung
von: Galenzo
Geschrieben am: 14.11.2003 11:44:51
Hallo,
das müßtest du dann in einem Makro machen, und zwar in Worksheet_Change. Dieses wird ausgeführt, wenn Zellwerte geändert werden.
Schreibst du rein:
if Target.Column = 2 Then
Target.Value=Target.Value*1.98853
end if
Mit column=2 ? wird erreicht, daß nur auf Eingaben in der Spalte B reagiert wird.
Viel Erfolg!
Betrifft: AW: Euroumrechnung
von: thomas
Geschrieben am: 14.11.2003 12:07:59
hallo
das klappt schon ganz gut aber die ausgabe erfolgt in dieser form 4,68108E-65.
hab versucht, zelle zu formatieren mit 2 stellen nach dem komma aber dann erscheint nur noch 0,00. ein euro-zeichen dahinter wär auch nicht schlecht. ist das möglich?
Betrifft: AW: mein Fehler
von: Galenzo
Geschrieben am: 14.11.2003 12:24:45
hmm - das habe ich wohl nicht richtig bedacht...
Das Makro wird ja immer ausgeführt, wenn die Zelle geändert wird - und dadurch wird ja wiederum die Zelle geändert usw. - ein Teufelskreis....
Mach's mal so:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column = 2) And (Target.NumberFormat = "General") Then
Target.NumberFormat = "#,##0.00 [$€-1]"
Target.Value = Target.Value * 1.98853
End If
End Sub
und berichte, ob' s so geht...
Betrifft: AW: mein Fehler
von: DieterB
Geschrieben am: 14.11.2003 12:39:27
Hallo,
ich glaube der Umrechnungsfaktor ist
1.95583
Gruß
DieterB
Betrifft: AW: mein Fehler
von: thomas
Geschrieben am: 14.11.2003 12:43:57
na super!
funktioniert bestens, doch nun noch eine frage. wie begrenze ich die anzahl der zeilen für dieses macro?
dank dir und schönes wochenende :-)
Betrifft: AW: mein Fehler
von: Galenzo
Geschrieben am: 14.11.2003 13:29:24
Machst du mit
intersect oder prüfst noch die Spalte mit:
target.row>...
Mit inersect sieht's dann so aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim bereich As Range
Set bereich = Range("B2:B10")
If Not Intersect(Target, bereich) Is Nothing And (Target.NumberFormat = "General") Then
Target.NumberFormat = "#,##0.00 [$€-1]"
Target.Value = Target.Value * 1.98853
End If
End Sub
Betrifft: AW: mein Fehler
von: thomas
Geschrieben am: 14.11.2003 21:04:15
na prima, damit klappt´s auch! hab schönen dank & happy weekend