Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zellenformatierung: Inhalt * 1000





Frage

Hallo zusammen, ich habe folgendes Problem in Excel 2003: Wie kann ich eine Zelle formatieren, daß der eingegebene Wert mit 1000 multipliziert wird? Beispiel: Eingabe in A1: 135 / Ausgabe in A1: 135000 Toll wäre auch, wenn man dann eventuell noch Tausenderpunkte einfügen könnte. Ich habe es versucht mit bedingter Formatierung als auch mit benutzerdefiniertem Zahlenformat, aber es hat nicht funktioniert. Weiß jemand eine Lösung für dieses Problem? Gruß, Björn

Antwort 1 von rainberg

Hallo Björn,

mit einer Formatierung kannst Du keine Werte verändern.
Für Dein Vorhaben brauchst Du ein Makro, etwa so

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Target
.Value = Target.Value * 1000
.NumberFormat = "#,##0"
End With
Application.EnableEvents = True
End Sub

Bei diesem Beispielcode müsste noch der Bereich eingeschränkt werden, ansonsten wirkt er auf dem gesamten Tabellenblatt.

Gruß
Rainer

Antwort 2 von Björn

Hallo Rainer,

danke für Deine schnelle Antwort.

Es wäre super, wenn Du mir noch sagen könntest wie das mit der Einschränkung des Bereiches funktioniert, da ich bislang kaum mit Makros gearbeitet habe.

Kennst Du ein gutes Buch, das einen in die Makroprogrammierung einführt?

Gruß

Björn

Antwort 3 von rainberg

Hallo Björn,

gib doch einfach mal bekannt, in welchem Tabellenbereich dieser Code wirken soll, ich führe dann die Änderung durch.

Ein Buch kann ich Dir leider nicht empfehlen.

Gruß
Rainer

Antwort 4 von Björn

Hallo Rainer,

z. B. im Bereich von A2:A80 und C2:C80.

Danke für Deine Hilfe.

Gruß

Björn

Antwort 5 von rainberg

Hallo Björn,

anbei die Anpassung

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A2:A80,C2:C80")) Is Nothing Then
With Target
.Value = Target.Value * 1000
.NumberFormat = "#,##0"
End With
End If
Application.EnableEvents = True
End Sub

Gruß
Rainer

Antwort 6 von Björn

Hallo Rainer,

danke für die Anpassung.

Was muß ich machen, um das Makro zum Laufen zu bringen?

Ich habe es in den Visual Basic Editor kopiert, aber ich weiß nicht was ich machen muß, um es aufrufen zu können.

Gruß

Björn

Antwort 7 von rainberg

Hallo Björn,

das Makro wird bei jeder Eintragung im fesgelegten Bereich (A2:A80; C2:C80) automatisch gestartet.

Vorraussetzung ist, dass sich der Code im Codebereich des betreffenden Arbeitsblattes befindet.

Diesen Codebereich erreichst Du am besten , indem Du einen Rechtsklick auf den Reiter des Tabellenblattes machst und dann "Code anzeigen" wählst.

Gruß
Rainer

Antwort 8 von Björn

Hallo Rainer,

habe ich so gemacht. Hat einmal funktioniert. Wenn ich jetzt aber z. B. in A2 eine andere Zahl eingebe geschieht nichts.

Hast Du eine Ahnung an was das liegen könnte?

Außerdem wurde die Zahl "100" als "100 000" dargestellt. Gibt es eine Möglichkeit den Tausenderpunkt angezeigt zu bekommen (ist aber nicht so tragisch)?

Gruß

Björn

Antwort 9 von rainberg

Hallo Björn,

was Du schreibst, kann ich nicht nachvollziehen.

Das Makro funktioniert bei jeder Eingabe im definierten Bereich, die mit Enter abgeschlossen wird.
Der Tausender-Punkt wird auch geschrieben.

Leider kann ich nicht sehen, was Du falsch gemacht hast.

Gruß
Rainer

Antwort 10 von Björn

Hallo Rainer,

danke für Deine Hilfe.

Gruß

Björn

Antwort 11 von Björn

Hallo Rainer,

habe jetzt herausgefunden warum es gestern plötzlich nicht mehr funktionierte:

Da die Zahl nicht mit Tausenderpunkt erschien, habe ich versuchsweise das Zahlenformat im Makro geändert.Daraufhin wurde dann das Makro gar nicht mehr ausgeführt. Erst nach einem kompletten Neustart von Excel wurde eine neu eingegebene Zahl dann nach dem geänderten Zahlenformat angezeigt. Inzwischen habe ich herausgefunden, daß das Makro nach einer Abänderung nicht mehr ausgeführt wird, wenn noch mehrere andere Excel-Dateien gleichzeitig geöffnet sind. Dann hilft nur noch der komplette Neustart von Excel. Ist nur die eine Excel-Datei geöffnet, führt Excel die Makroänderung sofort aus, ohne Neustart von Excel.

Daß anstatt eines Tausenderpunkts nur ein Leerschritt angezeigt wird, hängt damit zusammen, daß ich mit dem norwegischen Windows und Excel arbeite. Im norwegischen Windows ist bei Systemeinstellungen> Ländereinstellungen>Gruppierungszeichen für Zahlen ein Leerschritt hinterlegt. Ändert man das auf Punkt, wird der Tausenderpunkt in Excel angezeigt.

Nochmals vielen Dank für Deine Hilfe.

Gruß

Björn

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: