Herbers Excel-Forum - das Archiv

Euroumrechnung

Bild

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

Bild

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!
Bild

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?
Bild

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...
Bild

Betrifft: AW: mein Fehler
von: DieterB
Geschrieben am: 14.11.2003 12:39:27
Hallo,
ich glaube der Umrechnungsfaktor ist
1.95583

Gruß

DieterB
Bild

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 :-)
Bild

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

Bild

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
Bild