Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
536to540
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahlenformat automatisieren

Zahlenformat automatisieren
29.12.2004 15:42:48
Rolf
Hallo,
gibt es eine Möglichkeit, das Zahlenformat einer Zelle vom Zellinhalt oder vom Wert einer anderen Zelle abhängig zu machen? In meinem Fall soll eine Zahl mit er Runden-Funktion gerundet werden. Die Zahl der Stellen ist dabei nicht festvorgegeben, sondern kann z.B. von einer Referenzzelle aus gesteuert werden.
Die Zelle soll die Zahl als 0,00 ausgeben, wenn die Dezimalen in der Formel auf 2 eingestellt ist, bzw als 0,0, wenn hier 1 eingegeben wird.
Danke für die Ideen.
Rolf
=RUNDEN(10/3;B1)
Boris
Hi Rolf,
und in B1 steht die gewünschte Anzahl der Nachkommastellen.
Grüße Boris
AW: =RUNDEN(10/3;B1)
rolf
Hallo Boris,
das weiß ich schon, löst aber mein Problem nicht. Bei =runden(50;2) erhalte ich "50", aber nicht "50,00".
Rolf
=TEXT(50;WENN(B1;"0,";0)&WIEDERHOLEN(0;B1))
Boris
Hi Rolf,
ABER: Es handelt sich dann um TEXT.
Grüße Boris
AW: =TEXT(50;WENN(B1;"0,";0)&WIEDERHOLEN(0;B1))
rolf
Hallo Boris,
ich vermute, dass es so etwas wie die bedingte Formatierung gibt, oder eine Art, wie ich das Zahlenformat in die Zelle eintragen kann. Etwa wie bei dem Datumsformat bei Serienbrieffeldern in Word...
Gruß
R.
AW: =TEXT(50;WENN(B1;"0,";0)&WIEDERHOLEN(0;B1))
Boris
Hi Rolf,
...dann vermute mal - aber nach ner gewissen Zeit solltest du damit aufhören, da die dafür benötigte Excelversion noch nicht existent ist.
Ergo: Nur mit VBA möglich.
Grüße Boris
Anzeige
AW: =TEXT(50;WENN(B1;"0,";0)&WIEDERHOLEN(0;B1))
Rolf
also gut, mal sehen, ob jemand mit einer VBA-Lösung kommt.
Danke für die Bemühungen.
Rolf
Mit VBA ist das doch dann ein Klacks...;-)
Boris
Hi Rolf,
bei "VBA gut" bin ich jetzt davon ausgegangen, dass du das selbst hinbekommst.
Option Explicit

Sub formatieren()
Dim intNachkommastellen As Integer, strFormat As String
intNachkommastellen = [c1] 'Hier steht die Anzahl der gewünschten Nachkommastellen
If intNachkommastellen = 0 Then
strFormat = "Standard"
Else
strFormat = "0," & WorksheetFunction.Rept(0, intNachkommastellen)
End If
[a1].NumberFormatLocal = strFormat 'In A1 steht die zu formatierende Zahl
End Sub

Und das Ganze z.B. in einen Ereigniscode packen.
Grüße Boris
Anzeige
AW: Mit VBA ist das doch dann ein Klacks...;-)
rolf
Hallo Boris,
vielleicht habe ich doch mit meinen Kenntnissen übertrieben. Ich arbeite mit da gerade rein.
Klingt ganz gut - Kann ich noch einen Tipp haben, wie ich das in den Ereigniscode packen kann?
Danke.
Rolf
Das Ganze als Ereigniscode...
Boris
Hi Rolf,
Code einfügen in das Klassenmodul der Tabelle:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim intNachkommastellen As Integer, strFormat As String
If Target.Address(0, 0) = "C1" Then
If IsNumeric(Target) Then
If Target >= 0 And Target <= 15 Then
intNachkommastellen = [c1] 'Hier steht die Anzahl der gewünschten Nachkommastellen
If intNachkommastellen = 0 Then
strFormat = "Standard"
Else
strFormat = "0," & WorksheetFunction.Rept(0, intNachkommastellen)
End If
[a1].NumberFormatLocal = strFormat 'In A1 steht die zu formatierende Zahl
End If
End If
End If
End Sub

Er reagiert auf nummerische Eingaben in C1 zwischen 0 und 15.
Grüße Boris
Anzeige
AW: Das Ganze als Ereigniscode...
Rolf
Danke,
das probiere ich mal.
Guten Rutsch!
Rolf
AW: Zahlenformat automatisieren
Hübi
Hi Rolf,
wenn du als Zellformat Standard einstellst, werden immer nur so viele Nachkommastellen angezeigt, wie du durch Runden() festgelegt hast.
Gruß Hübi
AW: Zahlenformat automatisieren
Rolf
Hallo Hübi,
.. oder auch weniger.
Rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige