Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zellenformatierung mit beliebig vielen Nachkommastellen NKS

328 views
Skip to first unread message

Dirk Flakowski

unread,
Feb 11, 2004, 3:20:04 AM2/11/04
to
Hallo,

ich will eine Zelle in Excel, die Zahlen enthaelt, so formatieren,
dass sie immer alle Nachkommastellen anzeigt, dass sie ein
Tausender-Trennzeichen hat und im Falle von keinen Nachkommastellen
aber kein Komma anzeigt. Dabei bin ich auf das folgende Format
gestossen:
#.##0,########

Dieses Format hat leider nur den Nachteil, dass das Komma auch
angezeigt wird wenn die Zahl keine Nachkommastellen enthaelt.

Hat jemand eine Idee wie man das noch unterbinden kann?

Vielen Dank im Voraus
Dirk

Melanie Breden

unread,
Feb 11, 2004, 9:50:00 AM2/11/04
to
Hallo Dirk,

"Dirk Flakowski" schrieb:

da fällt mir nur eine Möglichlkeit zusammen mit einer Ereignisprozedur ein.

Speicher folgende Prozedur im Codemodul des Tabellenbattes
welches überprüft werden soll:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Range

For Each rngCell In Target
With rngCell
If IsNumeric(.Value) Then
.NumberFormat = IIf(.Value = Int(.Value), _
"General", "#,##0.########")
End If
End With
Next rngCell
End Sub

Bei jeder Änderung auf dem Tabellenblatt wird überprüft, ob die
geänderte Zelle einen Ganzzahl-Wert enthält und dementsprechend
das Zahlenformat eingestellt.

--
Mit freundlichen Grüssen

Melanie Breden
- Microsoft MVP für Excel -

http://excel.codebooks.de (Das Excel-VBA Codebook)
#Excel-Auftragsprogrammierung#

Dirk Flakowski

unread,
Feb 11, 2004, 10:04:10 AM2/11/04
to
Hallo Melanie,

vielen Dank fuer die schnelle Antwort, doch leider brauche ich das
wirklich als Formatierung, da es sich um ein Workbook mit tausenden
von Zellen handelt von denen einige hundert so formatiert werden
muessen. Ein Filtern im Code dieser Zellen ist dann aber praktisch
unmoeglich.
Gibt es keine Loesung ueber das Format alleine?

Vielen Dank im Voraus
Dirk

On Wed, 11 Feb 2004 15:50:00 +0100, "Melanie Breden"
<Melanie.Br...@mvps.org> wrote:

>Hallo Dirk,

Melanie Breden

unread,
Feb 11, 2004, 11:36:16 AM2/11/04
to
Hallo Dirk,

"Dirk Flakowski" schrieb:

> vielen Dank fuer die schnelle Antwort, doch leider brauche ich das


> wirklich als Formatierung, da es sich um ein Workbook mit tausenden
> von Zellen handelt von denen einige hundert so formatiert werden
> muessen. Ein Filtern im Code dieser Zellen ist dann aber praktisch
> unmoeglich.
> Gibt es keine Loesung ueber das Format alleine?

IMHO geht das nicht :-(

Folgender Vorschlag:
Markiere alle Zellen, Spalten/Zeilen, welche überwacht werden
sollen mit gedrückter Strg-Taste und vergib im Namensfeld links
neben der Bearbeitungszeile den Namen 'Zahlenformat'. Beende
die Eingabe des Namens mit der Enter-Taste.

Speicher dazu folgende Prozedur im Codemodul des Tabellenblattes:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Range

Set Target = Application.Intersect(Target, Range("Zahlenformat"))
If Target Is Nothing Then Exit Sub

For Each rngCell In Target
With rngCell
If IsNumeric(.Value) Then
.NumberFormat = IIf(.Value = Int(.Value), _
"General", "#,##0.########")
End If
End With
Next rngCell
End Sub

Geht es damit?

0 new messages