Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
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
Inhaltsverzeichnis

numberformat wird durchlaufen aber n. zugewiesen

numberformat wird durchlaufen aber n. zugewiesen
Peter
Guten Tag
https://www.herber.de/bbs/user/71355.xls
Je nach Eingabe der Währung in Zelle J5 einer Tabelle (JPY oder CHF) sollen bestimmte Zellen anders formatiert werden. Bei einer Änderung wird nachstehender Code wirklilch durchlaufen (mit Haltepunkten überprüft), doch die Zellformate werden leider nicht übergeben.
Was habe ich falsch gemacht?
Gruss, Peter
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Worksheets(Sh.Name).Range("A5").Value = "Berechnung" Then
If Not Intersect(Target, Sh.Range("j5")) Is Nothing Then
With Target
If UCase(.Value) = "JPY" Then
Sh.Range("H15:H45,H48").NumberFormat = "#,##0;-#,##0;"
Else
Sh.Range("H15:H45,H48").NumberFormat = "#,##0.00;-#,##0.00;"
End If
End With
End If
End If
End Sub

Bei mir funktioniert Deine Datei...
02.09.2010 11:45:37
Björn
Hallo,
also ich hab das grade getestet und bei mir funktioniert das.
Beende mal Excel (alle Mappen schließen UND die Applikation Excel beenden) und teste es nochmal.
Der Code stimmt.
Gruß
Björn B.
AW: Bei mir funktioniert Deine Datei...
02.09.2010 11:54:18
Peter
Hallo Jörg
Dankeschön.
Ich habe die Datei unter Excel 2003 getestet, da funktioniert es.
Mit Excel 2000 funktioniert es auch nach Beenden und Neustarten des Programms leider nicht.
Hat jemand eine Ideee, was bei Excel 2000 zusätzlich notwendig ist?
Gruss, Peter
AW: Bei mir funktioniert Deine Datei...
02.09.2010 11:57:08
Björn
Hallo Peter,
ich heiße Björn, das nur am Rande... ;-)
Das kann ich leider nicht testen.
Meine Idee wäre, mit dem Makrorekorder aufzuzeichnen, wie Du das Format von Hand setzt.
Vielleicht wird da was anders geschrieben...
Sorry, kann nicht weiterhelfen.
Gruß
Björn B.
Anzeige
Unterschied Formatdefinition zwi 2003 und 2003
02.09.2010 12:27:37
Peter
Hallo
Tatsächlich, der Makrorecorder bringt es an den Tag.
Zahlenformat Excel 2000 zuweisen:
Sh.Range("H15:H45,H48").NumberFormat = "#,##0.00_);(#,##0.00)"
Zahlenformat Excel 2003 zuweisen:
Sh.Range("H15:H45,H48").NumberFormat = "#,##0.00;-#,##0.00;"
Was das erste ")" bei
.NumberFormat = "#,##0.00_);(#,##0.00)" hier verloren hat,
ist für mich schleierhaft. Luc:-? wüsste sicher die Antwort drauf ...
Gruss, Peter
AW: Unterschied Formatdefinition zwi 2003 und 2003
02.09.2010 13:28:58
Peter
Hallo
Die Frage bleibt offen - das Format, welches die Null unterdrückt
"#,##0.00;-#,##0.00;"
oder
"#,##0;-#,##0;"
kann ich leider bei Excel 2000 mit VBA nicht zuweisen.
Kann mir jemand weiterhelfen?
Danke, Peter
Anzeige
AW: Unterschied Formatdefinition zwi 2003 und 2003
02.09.2010 13:43:04
Hajo_Zi
Hallo Peter,
Format
#,##000;-#,##000;""

AW: Unterschied Formatdefinition zwi 2003 und 2003
02.09.2010 13:53:48
Peter
Hallo Hajo
Danke.
Bei meiner Excel 2000 - Umgebung hat das keine Auswirkung; bei meiner Excel 2003 - Umbegung muss ich das Format um zwei weitere " ergänzen:
#,##000;-#,##000;"""", dann geht es.
Excel 2000 bleibt schleierhaft. Ich habe auch mit .NumberFormatLocal versucht (bei genauer Verwendung des eigegebenen Formats).
Gruss, Peter
https://www.herber.de/bbs/user/71358.xls
Anzeige
...Gar nichts, aber danke für d.Info! Habe...
02.09.2010 15:48:27
Luc:-?
…so feststellen können, Peter,
dass es offensichtl eine Art Camouflage-Format für Zahlen gibt. Mit 0,0 _) erreicht man, dass alle Zahlen nicht nur von rechts etwas eingerückt sind, sondern auch, dass sie als 0,0 angezeigt wdn. Wenn man 0,0 _);-0,0 _); schreibt, wird (unter Xl9) nur noch zwischen +, - und 0 unterschieden, also 0,0, -0,0 bzw gar nichts angezeigt. Damit kann man nicht nur Chef bzw Kollegen ärgern, sondern auch ganz gezielt (Zwischen-)Ergebnisse verstecken, die nicht jeder sehen soll. Weiterrechnen kann man damit natürlich wie gewohnt… ;-)
Gruß Luc :-?
Anzeige
...Gar nichts, aber danke für d.Info! Habe...
02.09.2010 15:49:15
Luc:-?
…so feststellen können, Peter,
dass es offensichtl eine Art Camouflage-Format für Zahlen gibt. Mit 0,0 _) erreicht man, dass alle Zahlen nicht nur von rechts etwas eingerückt sind, sondern auch, dass sie als 0,0 angezeigt wdn. Wenn man 0,0 _);-0,0 _); schreibt, wird (unter Xl9) nur noch zwischen +, - und 0 unterschieden, also 0,0, -0,0 bzw gar nichts angezeigt. Damit kann man nicht nur Chef bzw Kollegen ärgern, sondern auch ganz gezielt (Zwischen-)Ergebnisse verstecken, die nicht jeder sehen soll. Weiterrechnen kann man damit natürlich wie gewohnt… ;-)
Gruß Luc :-?
Anzeige
Pardon für Doppel! Kiste hängt! owT
02.09.2010 15:51:35
Luc:-?
:-?
AW: Pardon für Doppel! Kiste hängt! owT
02.09.2010 17:10:35
Peter
Hallo Luc
Danke für deine Zeilen.
Nun habe ich tatsächlich das Problem gefunden, das verhindert, dass das NumberFormat (mittels Workbook_SheetChange) umgestellt wird.
'''Code in DieseArbeitsmappe
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ShName As String
ShName = Sh.Name
Application.EnableEvents = False
If Worksheets(ShName).Range("A5").Value = "Berechnung" Then
If Not Intersect(Target, Sh.Range("J5")) Is Nothing Then
With Target
If UCase(.Value) = "JPY" Then
Sh.Range("F15:F45,F48").NumberFormat = "#,##0;-#,##0;"
Else
Sh.Range("F15:F45,F48").NumberFormat = "#,##0.00;-#,##0.00;"
End If
End With
End If
End If
End Sub
'''Code in Modul
Public Function TabNam()
''Anmerkung zur Formel =TabNam()
''Damit ein Tabellenwechsel gleich sofort zu einer Änderung
''des Namens führt, muss Excel noch etwas überlistet werden.
''Deshalb muss der Eintrag in der Zelle lauten:
''=TabNam()&WENN(HEUTE()=0;0;"")
TabNam = Application.Caller.Parent.Name
End Function
Diese Funktion ermöglicht mir, den Tabellennamen in irgend einer Zelle eines Tabellenblattes abzufragen. Dies stimmt dann und bezieht sich nicht auf die aktive Tabelle. Die Funktion wird nur aus der Tabelle aufgerufen und im VBA sonst nicht verwendet.
Sobald ich diese Funktion auskommentiere, werden die Zahlenformate gemäss Workbook_SheetChange geändert, sonst läuft der Code durch und die Formatierung wird nicht geändert.
Weshalb verhindert diese Funktion die korrekte Ausführung des Codes von Workbook_SheetChange? Worin besteht die Abhängigkeit und wie könnte ich dies ändern?
Bin gespannt, ob ich eine Antwort erhalte; wäre super.
Gruss, Peter
Anzeige
verbleibendes Problem in neuem Eintrag
03.09.2010 07:31:26
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige