Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.Volatile funktioniert nicht

Forumthread: Application.Volatile funktioniert nicht

Application.Volatile funktioniert nicht
07.05.2018 14:39:44
japes36
Hallo zusammen,
ich habe eine Datei mit einem Sheet pro Jahr. In jedem Sheet ist u.a. eine Art Timeline mit Jahreskalender, in dem die Feiertage automatisch rot gefärbt werden sollen. In der Datei ist noch ein Sheet, in dem die Feiertage berechnet werden für das jeweilige Kalenderjahr.
Ich habe eine kleine Public Function, mit der ich die Jahreszahl aus dem jeweiligen aktiven Sheet extrahiere, damit die Feiertagsberechnung immer mit dieser Zahl rechnen kann.
  • 
    Public Function FTJahr() As String
    Application.Volatile
    FTJahr = Right(ActiveSheet.Name, 4)
    End Function
    

  • in einer Zelle des entsprechenden Sheets steht =FTJahr() und gibt damit die jeweilige Jahreszahl zurück.
    Application.Volatile soll doch dafür sorgen, dass eine Neuberechnung erfolgt. Tut es aber nicht. Wenn ich zwischen den Sheets und somit zwischen den Jahren hin und her wechsle, bleibt die Jahreszahl gleich. Ich muss entweder in die Zelle klicken und Enter drücken oder im Ribbon unter Formeln auf 'Neu Berechnen', damit die korrekte Jahreszahl drinsteht.
    Ich habe mir jetzt beholfen, in dem ich in jedes Sheet ein Worksheet_Activate() mit Application.CalculateFull drin habe.
    Warum geht das mit dem Volatile nicht (mehr)? Es geht ja soweit mit dem workaround. Aber ich wills verstehen.
    Danke wenn jemand was weiß :)
    Anzeige

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

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Application.Volatile funktioniert nicht
    07.05.2018 14:43:38
    Rudi
    Hallo,
    steht doch eindeutig in der Hilfe.
    Kennzeichnet eine benutzerdefinierte Funktion als veränderlich. Solche Funktionen werden immer neu berechnet, wenn in einer beliebigen Zelle des Arbeitsblatts eine Berechnung durchgeführt wird. Nicht veränderliche Funktionen werden nur dann neu berechnet, wenn sich die Eingabevariablen ändern. Diese Methode wird in der Regel in einer benutzerdefinierten Funktion zur Berechnung einer Arbeitsblattzelle verwendet, andernfalls hat sie keine Auswirkung.
    Anzeige
    AW: Application.Volatile funktioniert nicht
    07.05.2018 14:46:41
    japes36
    Aaaaah. da in der Hilfe selten was drin steht, schau ich schon gar nicht mehr. Wie man sieht, kann das auch mal ein Fehler sein :D
    ok, dann geht es eh nur so wie ich es jetzt hab.
    Danke :)
    Excel-Hilfe
    07.05.2018 14:48:38
    {Boris}
    Hi,
    da in der Hilfe selten was drin steht, schau ich schon gar nicht mehr
    Mitnichten - da steht so gut wie immer genau das drin, was man auch braucht.
    VG, Boris
    Anzeige
    AW: Application.Volatile funktioniert nicht
    07.05.2018 15:00:54
    Werner
    Hallo,
    nutz doch das Workbook_SheetActivate Ereignis um eine Neuberechnung anzustoßen sobald du das Blatt wechselst.
    Dazu beim Blattwechsel in irgendeine freie, unbenutzte Zelle die Zeit rein schreiben.
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Range("Z100") = Now
    End Sub
    
    Gruß Werner
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige