Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1052to1056
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

Formelberechnung erst nach Workb. close / Wb. open

Formelberechnung erst nach Workb. close / Wb. open
24.02.2009 11:46:29
Alex
Hallo Leute,
bin am verzweifeln...
hab schon die ganze Recherche durch.
Ich habe 2 fast identisch aufgebaute Dateien (kann ich nicht hochladen; bin auf Arbeit; Webmaster blockt).
bei meiner Problemdatei habe ich ein Blatt "Übersicht", in dem alle Daten aus den anderen Tab. (ca. 150) zusammen kommen. (per Formel: Summenprodukt, Wenn usw.)
Wenn ich ein (alle Tab. sind in Urform vorgefertigt) Tab. für eine neue Person erstelle (teilw. per Makro),
und in diesem Tab dann änderungen vornehme, rechnen die Formeln in "Übersicht" nicht. Erst wenn ich in
die Formel klicke und mit Return raus. (Durch das Umbenennen des Tab. ändert sich die Formel in "Übersicht"! Daran liegt es nicht.)
Oder ich schließe das WB. und öffne neu, dann gehts auch.
Das komische:
Bei der nahezu identischen Datei funzt alles reibungslos (Autom. Berechnung).
Einstellungen:
Extras-Optionen-Berechnung-automatisch ist ein
Optionen in Makros:
Option Application.ScreenUpdating = True
Enable Calculation = True
Weiss nicht mehr weiter.
In der Recherche hatten schon einige dieses Problem, nur für mich waren keine Lösungen dabei.
Danke für evtl. Rat,
Gruss
alex

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formelberechnung erst nach Workb. close / Wb. open
24.02.2009 12:48:32
Renee
Hi Alex,
Das versteh ich nicht:
Optionen in Makros:
Option Application.ScreenUpdating = True
Enable Calculation = True

Weder die erste Zeile noch die zweite machen in VBA Sinn.
Wenn dein restlicher Code auch so aussieht, dann wundert mich nix mehr.
Werden die Dinger auch aktualisiert, wenn du F9 drückst ? Oder dann auch nicht.
Wenn nicht ev. die Formatierung der Zellen mit den neuen Formeln überprüfen.
GreetZ Renée
AW: Formelberechnung erst nach Workb. close / Wb. open
24.02.2009 13:22:03
Alex
Hi Renèe,
kenn mich auch nich mehr aus, habe alles versucht (oben genannte Codezeilen) was nur irgendwie helfen könnte.
Hier hab ich mal einen Gesamtcode abgebildet in dem die Codezeilen dabei sind.
Erklärung:
dieser Code bewirkt, dass ich ein vorher bestehendes Tab. (durch Eintrag in Zelle A4 des Tab.) umbenenne,
der neue Tab-Name in einer Auflistung erscheint, die dann alph. Sortiert wird;
dann werden die Tab. alph. Sortiert und gut.
Hab die versch. Codes meiner beiden Dateien schon verglichen. Die eine berechnet Formeln sofort, die schlechte erst...wie vorher beschrieben.
Hier der Code:

Sub AuflistungUndSheetsSortieren()
'Blattname aus Zelle des Blattes
Dim Blatt As Object         'Blattname aus Zelle des Blattes
Dim i As Long, j As Long        'Auflistung aller Tabellen so wie ihre momentane Reihenfolge  _
ist
Dim x As String                 'Auflistung aller Tabellen so wie ihre momentane Reihenfolge  _
ist
Dim all As Long                 'Auflistung aller Tabellen so wie ihre momentane Reihenfolge  _
ist
Dim shArray()                   'Auflistung aller Tabellen so wie ihre momentane Reihenfolge  _
ist
Dim WsW As Worksheet         '   Register sortieren       ' Variable für Tabelle
Dim InI As Integer           '   Register sortieren       ' Schleifenvariable
Dim InJ As Integer           '   Register sortieren       ' Schleifenvariable
'sheets sichtbar machen
Application.ScreenUpdating = False
For InI = Sheets.Count To 1 Step -1
Sheets(InI).Visible = True
Next InI
Application.ScreenUpdating = True
'Blattname aus Zelle des Blattes
On Error Resume Next
For Each Blatt In ActiveWorkbook.Worksheets
'"Übersicht" ; "Grundformular" ; "ListeHäufigerEintragungen" ; "Übersicht Schießen"
If Blatt.Name  "Übersicht" And _
Blatt.Name  "Grundformular" And _
Blatt.Name  "ListeHäufigerEintragungen" And _
Blatt.Name  "Übersicht Schießen" Then
With Blatt
If .Cells(4, 1)  "" Then
.Name = .Cells(4, 1) 'zelle A4 (1.Spalte,4.Zeile)
Else
.Name = "zzz" & .CodeName
End If
End With
End If
Next Blatt
Sheets("Übersicht Schießen").Unprotect "red13"
Sheets("Übersicht Schießen").Select
Selection.AutoFilter Field:=1
'Auflistung (in Spalte C) aller Tabellen so wie ihre momentane Reihenfolge im Workbook ist
all = ThisWorkbook.Worksheets.Count
ReDim shArray(5 To all)
On Error Resume Next
For i = 5 To all    '5 to all = ab dem Blatt das momentan auf Platz 5 liegt
x = ThisWorkbook.Sheets(i).Name
shArray(i) = x
Next i
For j = LBound(shArray) To UBound(shArray)
Sheets(4).Cells(j + 1, 3) = shArray(j)     'C...ab wohin die Namen in Übersicht Schießen  _
geschrieben werden j + 1 = 2.Zeile, 3 = 3.Spalte
Next j
'alphab. Sortierung Übersicht Schießen ab C6 - S153
Sheets("Übersicht Schießen").Select
Range("C6:S153").Select
Selection.Sort Key1:=Range("C6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("J1").Select
Sheets("Übersicht Schießen").Protect "red13", DrawingObjects:=True, Contents:=True, Scenarios:= _
True
'   Register sortieren
Application.ScreenUpdating = False                          ' Bildschirmaktualisierung aus
Set WsW = ActiveSheet                                       ' aktuelle Tabelle auf Variable  _
schreiben
For InI = 5 To ActiveWorkbook.Worksheets.Count
For InJ = InI To ActiveWorkbook.Worksheets.Count
If Worksheets(InJ).Name  LCase("Übersicht") Then
Sheets(InI).Visible = False
End If
Next InI
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Sheets("Übersicht").Select
Sheets("Übersicht").Protect "red13", DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A5").Select
End Sub


Danke für dein Interesse,
alex

Anzeige
AW: Formelberechnung erst nach Workb. close / Wb. open
24.02.2009 13:56:17
Renee
Hi Alex,
An dem Code seh ich im Moment nix, dass die Berechnung beeinflussen könnte, ausser das ,ot Application.Calculation = xlCalculationAutomatic der Berechnungsmodus auf automatisch gesetzt wird, obwohl er vorher nie auf manuell gesetzt wurde. Ev. geschieht das in einem anderen Makro oder einer Event-Prozedur. Zudem sehe ich mehrere On Error Resume Next, die mir suspekt sind.
Du hast aber nicht auf meine konkrete Frage geantwortet: Werden die Dinger auch aktualisiert, wenn du F9 drückst (statt in die Zelle zu gehen und Enter drücken) ?
GreetZ Renée
Anzeige
AW: Formelberechnung erst nach Workb. close / Wb. open
24.02.2009 14:22:12
Alex
Hi Renèe,
wenn ich F9 (und; ich gehe doch richtig in der Annahme, nur F9 drücken) dann meldet Statusleiste kurz "berechnet Zellen", aber die Verknüpfung zum neuen Tab. (Formeln sind korrekt!) rechnet nicht.
Wie gesagt, nur wenn ich Tab. "Übersicht" entsperre und in die Formel & aus der Formel klicke; oder
Datei (bevor! ich in das neu benannte Tab etwas eintrage) die Datei schließen, wieder öffnen; dann
erkennt die Formel in "Übersicht..." jede Eintragung im neuen Tab. und berechnet auch.
Das ist genau wie bei einigen Forum - Usern (aus Recherche): berechnet nur wenn in die Formel gegangen wird.
Zellen sind ( im Vergleich zur anderen, ähnlich aufgebauten Datei) bei Zahlen in Zahl formatiert, bei Text auf Standart.
Die eine geht, die andere nicht!
Baaaaahh!
gruss
alex
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige