Hallo,
folgendes Problem.
Dieses Makro
Sub ZeileBerechnen()
'nach Änderung Zelle Neuberechnung der betroffenen Zeile
z = ActiveCell.Row - 1
s = ActiveCell.Column
Rows(z & „:“ & z).Calculate
'zurück zur bearb. Zelle
Cells(z, s).Select
End Sub
berechnet die Zeile der aktiven Zelle (autom. Neuber. ist aus) neu.
Der Aufruf erfolgt mit Worksheet_Change.
Leider wird mit der Neuberechnung die Formatierung der Zellen verändert.
Datum - von TT.MM.JJ in TT/MM/JJ
Buchhaltung von , in . und . in , - die Werte rücken nach rechts
eine Differenz zweier Zellen wird in Klammern gesetzt.
Markiert man die betreffende Zeile wird die ursprüngliche Formatierung wieder hergestellt.
Bin ratlos.
cu
Nachtrag:
Mit großer Brille habe ich gerade gesehen - so 100%ig ist die Wiederherstellung der Formatierung doch nicht.
Bei der Differenz verschwinden zwar die Klammern, aber unten liegen irgendwelche undefinierbaren „Krümmel“ und das Komma geht unten nicht nach link, sondern nach rechts ???
Werde mir das Ganze mal mit riesiger Monitorauflösung anschauen.
cu
Grüezi ghostkeeper
Dieses Makro
Sub ZeileBerechnen()
'nach Änderung Zelle Neuberechnung der betroffenen Zeile
z = ActiveCell.Row - 1
s = ActiveCell.Column
Rows(z & „:“ & z).Calculate
'zurück zur bearb. Zelle
Cells(z, s).Select
End Sub
berechnet die Zeile der aktiven Zelle (autom. Neuber. ist aus)
neu.
Das sollte IMO soweit OK sein.
Der Aufruf erfolgt mit Worksheet_Change.
Leider wird mit der Neuberechnung die Formatierung der Zellen
verändert.
Datum - von TT.MM.JJ in TT/MM/JJ
Buchhaltung von , in . und . in , - die Werte rücken nach
rechts
eine Differenz zweier Zellen wird in Klammern gesetzt.
…aber das kann ich mir nun mal gar nicht vorstellen - läuft da noch ein anderes Makro mit?
Mit welchen Regions-Einstellungen arbeitest Du?
Ist dasselbe auch in eine neuen Datei zu beobachten?
Möglicherweise ist die Mappe korrupt geworden.
–
Mit freundlichen Grüssen
Thomas Ramel
Grüezi,
zurück (in die Schweiz ???)
Das sollte IMO soweit OK sein.
Die Werte werden richtig berechnet, funktioniert prima.
…aber das kann ich mir nun mal gar nicht vorstellen - läuft
da noch ein anderes Makro mit?
Nein.
Mit welchen Regions-Einstellungen arbeitest Du?
Deutsch.
Ist dasselbe auch in eine neuen Datei zu beobachten?
Habe heute eine neue Datei erstellt, gleiches Ergebnis.
Dabei habe ich bemerkt,
- dass die Klammern auftauchen, wenn das Ergebnis negativ ist.
- der Effekt tritt nicht auf, wenn ich den Bereich nur selektiere und dann ein Calculate mache.
Das Datumsformat DD/MM/JJ kann ich dabei nicht mal mit „Zellen formatieren“ auswählen.
cu
Grüezi ghostkeeper
Grüezi,
zurück (in die Schweiz ???)
Genau 
Das sollte IMO soweit OK sein.
Die Werte werden richtig berechnet, funktioniert prima.
Ok, das ist dann schon mal was.
…aber das kann ich mir nun mal gar nicht vorstellen - läuft
da noch ein anderes Makro mit?
Nein.
Mit welchen Regions-Einstellungen arbeitest Du?
Deutsch.
Ist dasselbe auch in eine neuen Datei zu beobachten?
Habe heute eine neue Datei erstellt, gleiches Ergebnis.
Dabei habe ich bemerkt,
- dass die Klammern auftauchen, wenn das Ergebnis negativ ist.
Das kann am zugewiesenen Zellenformat in der Tabelle selbst liegen - prüfe dieses daher mal explizit.
- der Effekt tritt nicht auf, wenn ich den Bereich nur
selektiere und dann ein Calculate mache.
Also über die Oberfläche von Excel:
Das Datumsformat DD/MM/JJ kann ich dabei nicht mal mit „Zellen
formatieren“ auswählen.
Hmmm, formatiere die Zellen mal explizit mit TT.MM.JJJJ und schau dir an ob es Veränderungen gibt.
Es könnte sein, dass die Neuberechnung über VBA sich hier der US-Formate bedient (warum auch immer).
–
Mit freundlichen Grüssen
Thomas Ramel
Hallo,
Das kann am zugewiesenen Zellenformat in der Tabelle selbst
liegen - prüfe dieses daher mal explizit.
Das Format ist auf Buchhaltung (2 St., kein WZ) und auf Datumsformat DD.MM.YY eingestellt.
- der Effekt tritt nicht auf, wenn ich den Bereich nur
selektiere und dann ein Calculate mache.
Also über die Oberfläche von Excel:
Nein, statt
Rows(x,y).Calculate
wo nur die betreffende Zeile berechnet wird ein
Rows(x,y).Select
Calculate
im Makro. Hier wird natürlich die gesamte Tabelle berechnet (ich dachte erst, es bezieht sich nur auf den selekt. Bereich).
Das Datumsformat DD/MM/JJ kann ich dabei nicht mal mit „Zellen
formatieren“ auswählen.
Hmmm, formatiere die Zellen mal explizit mit TT.MM.JJJJ und
schau dir an ob es Veränderungen gibt.
Nein.
Die „Krümel“ die ich erwähnt habe wenn das Format beim Markieren der Zeile zurückspringt, sind die Reste der Klammern, die unten über die Einträge ragen.
Ein negat. Wert geht also von (0.22) zurück auf - 0,22. Da sich auch die Position in der Zelle wieder nach links verschiebt ist der Rest der linken Klammer genau an der Kommastelle. Das sieht dann aus, als ob das Komma nach rechts gebogen wird.
Das Ganze wird immer mysteriöser.
cu
Grüezi ghostkeeper
Das kann am zugewiesenen Zellenformat in der Tabelle selbst
liegen - prüfe dieses daher mal explizit.
Das Format ist auf Buchhaltung (2 St., kein WZ) und auf
Datumsformat DD.MM.YY eingestellt.
…ich nehme an, dass die ‚Y‘ ein Verschreiber sind und da in echt dann ‚JJ‘ steht?
- der Effekt tritt nicht auf, wenn ich den Bereich nur
selektiere und dann ein Calculate mache.
Also über die Oberfläche von Excel:
Nein, statt
Rows(x,y).Calculate
wo nur die betreffende Zeile berechnet wird ein
Rows(x,y).Select
Calculate
im Makro. Hier wird natürlich die gesamte Tabelle berechnet
(ich dachte erst, es bezieht sich nur auf den selekt.
Bereich).
OK, ja, hier wird komplett neu berechnet; die Selektierung kannst Du getrost weglassen.
Das Datumsformat DD/MM/JJ kann ich dabei nicht mal mit „Zellen
formatieren“ auswählen.
Hmmm, formatiere die Zellen mal explizit mit TT.MM.JJJJ und
schau dir an ob es Veränderungen gibt.
Nein.
Die „Krümel“ die ich erwähnt habe wenn das Format beim
Markieren der Zeile zurückspringt, sind die Reste der
Klammern, die unten über die Einträge ragen.
Ein negat. Wert geht also von (0.22) zurück auf - 0,22. Da
sich auch die Position in der Zelle wieder nach links
verschiebt ist der Rest der linken Klammer genau an der
Kommastelle. Das sieht dann aus, als ob das Komma nach rechts
gebogen wird.
Das Ganze wird immer mysteriöser.
Ja, das sehe ich auch so - kannst Du die abgespeckte und ev. anonymisierte Mappe auf einen WebSpace hochladen und den Link hier nennen oder sie mit direkt zusenden [an t(punkt)ramel(at)ggs(punkt)ch]?
Das Ganze interessiert mich denn nun doch sehr.
–
Mit freundlichen Grüssen
Thomas Ramel
Hallo
…ich nehme an, dass die ‚Y‘ ein Verschreiber sind und da in
echt dann ‚JJ‘ steht?
-)
Habe die Mappe immer neu erzeugt, dauert daher einen Moment.
Dann geht sie sofort auf die Reise-
cu
t(punkt)ramel(at)ggs(punkt)ch]?
Grüezi Thomas,
gilt die oben durch w-w-w genannte Mailadresse nicht mehr?
Ansonsten verfolge ich diese Beitragsfolge weiter interessiert und sehr ratlos.
Gruß
Reinhard
Grüezi Reinhard und ghostkeeper.
Mit der Mail-Adresse hatte ich mich verschreiben - die im W-W-W angegebene ist weiterhin korrekt.
…ich nehme an, dass die ‚Y‘ ein Verschreiber sind und da in
echt dann ‚JJ‘ steht?
-)
Habe die Mappe immer neu erzeugt, dauert daher einen Moment.
Dann geht sie sofort auf die Reise-
Ich habe sie erhalten und schon geantwortet.
Das Ganze ist ‚nur‘ eine optische Angelegenheit - die effektiven Formate werden nicht verändert und beim scrollen aus dem sichbaren Bereich und wieder zurück ist alles wieder OK.
Folgender Workaround hat bei mir geklappt:
Private Sub Worksheet\_Change(ByVal Target As Range)
'geänderte Zeile neu berechnen
Application.ScreenUpdating = False
Target.EntireRow.Calculate
Target.Select
Application.ScreenUpdating = True
End Sub
–
Mit freundlichen Grüssen
Thomas Ramel