Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1620to1624
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

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ß :)

    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.
    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 :)
    Anzeige
    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
    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

    299 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige