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

Rechnet trotz Calculation auf manual

Rechnet trotz Calculation auf manual
16.11.2017 12:40:43
Christian
Hallo Zusammen,
ich bin leider - wieder einmal ratlos. Ich habe in dem folgendem Sub die Berechnung auf manuell gestellt, ob die ganzen Rechenzeiten zu vermeiden. Aber er rechnet sich wund... trotzdem. Das Tabellenblatt "Pipeline" ist dabei xlveryhidden. Hat das vielleicht damit etwas zu tun. Könnte Ihr bitte wieder einmal so sympathisch helfen?
Vielen Dank und viele Grüße
Christian
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.EnableCancelKey = xlDisabled
If Worksheets("Pipeline").Range("I14") = 0 Then Exit Sub
Application.Calculation = xlCalculationManual
Dim i As Integer
With Worksheets("Pipeline")
For i = 18 To 1016
If .Cells(i, 9).Value  "" Then .Cells(i, 8) = 1
Next i
End With
Application.Calculation = xlCalculationAutomatic
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechnet trotz Calculation auf manual
16.11.2017 12:46:01
Rudi
Hallo,
gibt's in Pipeline evtl. eine Change-Prozedur?
Gruß
Rudi
AW: Rechnet trotz Calculation auf manual
16.11.2017 13:00:23
Christian
Halo Rudi,
nein - die habe ich schon herausgenommen.
Das komische ist halt, dass es funktioniert wenn Pipeline eingeblendet ist.
Viele Grüße
Christian
AW: Rechnet trotz Calculation auf manual
16.11.2017 12:58:10
Werner
Hallo Christian,
außerdem würde ich da nicht in einer Schleife drüber gehen. Ich würde in den gesamten Block eine Formel rein schreiben und dann die Formel durch die Werte ersetzen.
If Worksheets("Pipeline").Range("I14") = 0 Then Exit Sub
Application.Calculation = xlCalculationManual
With Worksheets("Pipeline")
.Range(.Cells(18, 8), .Cells(1016, 8)).FormulaLocal = "=WENN(I18"""";1;"""")"
.Range(.Cells(18, 8), .Cells(1016, 8)).Value = .Range(.Cells(18, 8), .Cells(1016, 8)).Value
End With
Application.Calculation = xlCalculationAutomatic
Gruß Werner
Anzeige
AW: Rechnet trotz Calculation auf manual
16.11.2017 13:06:51
Daniel
Hi
prinzipell sollte man Schleifen, die Zellen einzeln bearbeiten vermeiden.
Wenn man es schafft, das Ergebnis auch mit einem einzigen Schritt zu erledigen, ist der Code sehr schnell auch ohne das Abschalten von automatischer Neuberechnung und Eventmakros.
hier könnte man bespielsweise die Arbeit auch durch eine Formel ausführen lassen:
With Sheets("Pipeline").Range("H18:H1016")
.FormulaR1C1 = "=IF(RC9"""",1,"""")
.Formula = .Value
End with
oder man nutzt die SpecialCellsmethode, um die zu bearbeitenden Zellen zu ermitteln.

Sheets("Pipeline").Range("I18:I1016").SpecialCells(xlcelltypeconstants, 3).Offset(0, -1).Value = 1
welche Methode aber genau die richtige ist, hängt vom Aufbau der Datei ab, z.b.
- stehen in Spalte I Formeln oder Fixwerte
- sind die Zellen in Spalte H, welche nicht mit 1 beschrieben werden sollen, leer oder enthalten diese bereits einen Wert, welcher nicht überschrieben werden darf
Gruß Daniel
Anzeige
AW: Rechnet trotz Calculation auf manual
16.11.2017 13:51:36
Christian
Hallo Daniel, hallo Werner,
das ist super - vielen Dank. Ich habe es entsprechend auf die Formel umgestellt und benötige tatsächlich keine manuelle Logik mehr.
Hattet Ihr schon einmal einen Sub Activate, der sich einfach nicht ausgelöst hat. Ich habe jetzt fast eine Stunde gesucht und es umstellen müssen. Sehr seltsam.
Viele Grüße
Christian
Gerne u.Danke für die Rückmeldung. o.w.T.
16.11.2017 14:12:43
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige