PDA

Vollständige Version anzeigen : In Zelle A1 "0.00" reinschreiben => Zelle B1 ist als "0.00" formatiert


ChemFlo
21.04.2009, 14:35
Hallo,

wie stelle ich es an, wenn ich das Zahlenformat einer Zelle vom Eintrag in einer anderen Zelle abhängig machen will ?

Also z.B. soll das Zahlenformat von B1 vom Eintrag in A1 abhängen.

So ist z.B. vorstellbar:
in A1 steht "0.00", in B1 (enthält eine 10) wird als 10.00 ausgegeben; wenn A1 in "0.0" geändert wird, resultiet in B1 10.0

Vielen Dank für jeden Tipp

Florian

jinx
21.04.2009, 15:01
Moin, Florian,

<b>Tabelle1</b><br /><br /><table border="1" cellspacing="0" cellpadding="0" style="font-family:Arial,Arial; font-size:10pt; background-color:#ffffff; padding-left:2pt; padding-right:2pt; "> <colgroup><col style="font-weight:bold; width:30px; " /><col style="width:80px;" /><col style="width:80px;" /></colgroup><tr style="background-color:#cacaca; text-align:center; font-weight:bold; font-size:8pt; "><td >&nbsp;</td><td >A</td><td >B</td></tr><tr style="height:17px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >1</td><td style="text-align:right; ">0.000</td><td style="text-align:right; ">10,000</td></tr></table>
Hinter die Tabelle:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
If IsNumeric(Target) Then _
Range("B1").NumberFormat = Range("A1").Value
End If
End Sub
So richtig wohl ist mir dabei aber nicht - schließlich gibt es noch einige weitere Formate, die hier nicht abgedeckt werden.

Celia
22.04.2009, 09:03
Hi,

simple Lösung :))

Du schreibst z.B. in Zelle A1 "1000", benutzt B1 als Hilfsspalte und schreibst in C1 diese Formel

=WENN(A1>0;(A1*B1);B1)

Gruß
Celia

ChemFlo
30.04.2009, 17:35
Hallo zusammen,

jinx' Lösung funzt prächtig. Aber jinx Bedenken haben ihre Berechtigung: 0.0 oder 0.000 funktionieren gut; bei 0.00E+10 gibt es jedoch ein Problem:

wenn ich in B1 eine 4 eingebe, wird die Zahl in 4.00E+10 verwndelt. Dies dürfte ja nur sein wenn ich in B1 40000000000 eingebe.

Wie wäre dieses Problem zu lösen ?

Herzlichen Dank

Florian

jinx
03.05.2009, 09:48
Moin, Florian,

da ich nicht weiß, was dieses Vorgehen bewirken soll, vielleicht die Nachbildung per Daten/Gültigkeit und Auswertung der Zelle durch Worksheet_Change-Ereignis, eine Prüfung des geänderten Wertes per Select Case und Zuweisung Standard bei nicht bekanntem/erkanntem Format...

Fibonacci
04.05.2009, 05:02
Hallo,

auch eine Möglichkeit:

in A1: "'#.##0,00"
in B1: "=TEXT(C1;A1)"
in C1: ... den Wert eintragen --> sollte schneller gehen als das Change-Ereignis

ChemFlo
26.05.2009, 07:58
Hallo,

das Makro von jinx funktioniert bestens.

Wie müsste man dieses modifizieren, damit es auch bei geschützten Zellen funktioniert ?

Herzlichen Dank für jeden Tipp

Florian

jinx
26.05.2009, 15:37
Moin, Florian,

am Einfachstrn wäre es, die Ausführung von Makros zuzulassen - dazu wird beim Öffnen der Mappe oder beim Aktivieren der Tabelle der Schutz wie folgt gesetzt:

ActiveSheet.Protect userinterfaceonly:=True