Microsoft Excel

Herbers Excel/VBA-Archiv

Function geziehlt deaktivieren - aktivieren | Herbers Excel-Forum


Betrifft: Function geziehlt deaktivieren - aktivieren von: Stefan
Geschrieben am: 05.02.2010 07:10:02

Hallo,

in der unten beschrieben Funktion zähle ich die Roten Zellen, wenn ich aber über einen anderen Makro den Status zurücksetzen will und alle Zellen mit einen Ursprungswert überschreiben, startet jedesmal die Funktion ( und das auch noch für Gelb und Grün). Wie kann ich die Funktion deaktivieren, wenn der andere Makro die Zellen umschreibt, danach möchte ich die Funktion wieder aktivieren.
Danke im Voraus.

Function Anzahl_Rot(Bereich As Range)
Dim Zelle As Range, i As Integer
Application.Volatile
i = 0
For Each Zelle In Bereich
If Zelle.Font.ColorIndex = 3 And Zelle.Value <> "" Then i = i + 1
Next Zelle
Anzahl_Rot = i
End Function

  

Betrifft: AW: Function geziehlt deaktivieren - aktivieren von: Hans W. Herber
Geschrieben am: 05.02.2010 07:16:39

Hallo Stefan,

mit dem Application.Volatile ist das so eine Sache.

Eine nicht ganz ungefährliche Lösung:
Stelle den Calculation-Modus am Beginn des auslösenden Makros auf manuell und am Ende wieder auf automatisch, baue aber dazu Fehlerroutinen ein, nicht dass Du nachher auf manuell sitzen bleibst.

gruss hans


  

Betrifft: AW: Function geziehlt deaktivieren - aktivieren von: Stefan
Geschrieben am: 05.02.2010 07:33:18

Hallo,

Danke für den Tipp. kannst du mir ein Beispiel dafür geben.

mfG
Stefan


  

Betrifft: AW: Function geziehlt deaktivieren - aktivieren von: Hans W. Herber
Geschrieben am: 05.02.2010 07:38:04

Hallo Stefan,

in etwa so:

Sub MeinGrossesMakro()

   On Error GoTo ERRORHANDLER
   Application.Calculation = xlCalculationManual
   'Tue dies und das
   
ERRORHANDLER:
   Application.Calculation = xlCalculationAutomatic
   Calculate
   
End Sub

gruss hans


  

Betrifft: AW: Function geziehlt deaktivieren - aktivieren von: Stefan
Geschrieben am: 05.02.2010 08:07:10

Hallo Hans,

Danke für die schnelle Antwort, funktioniert so einwandfrei.

Wenn ich in der Function das Application.Volatile entferne, berechnet er mir die Anzahl der Farben anscheinend immer bevor eine Änderung eintritt, so hängt der Zähler immer eins hinterher. Welche Alternativen gibt es zu Application.Volatile?
Danke im Voraus.

mfG
Stefan


  

Betrifft: AW: Function geziehlt deaktivieren - aktivieren von: Hans W. Herber
Geschrieben am: 05.02.2010 08:09:52

Hallo Stefan,

wenn es mir denn auch nicht gefällt, eine Alternative kenne ich auch nicht.

gruss hans


  

Betrifft: AW: Function geziehlt deaktivieren - aktivieren von: Stefan
Geschrieben am: 05.02.2010 08:11:13

Trotzdem Danke für die Hilfe.

mfG
Stefan


Beiträge aus den Excel-Beispielen zum Thema "Function geziehlt deaktivieren - aktivieren"