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

Grafik wird nicht aktualisiert

Grafik wird nicht aktualisiert
07.01.2016 10:46:43
Jürg
Liebe Excel Cracks
Ich habe folgendes Problem:
Ich habe mit VBA ein Funktion des Type Single geschrieben, welcher Variable des Type Range übergeben werden (siehe unten). Ändert man die Werte der entsprechenden Zellen wird das Resultat dieser Funktion nicht aktualisiert. Diese Problem kann man mit "Application.CalulateFullRebuilt" lösen.
Das Problem ist, dass die Grafik, welche aus den Resultaten dieser Funktion generiert wird mit "Application.CalculateFullRebuilt" nicht aktualisiert wird.
Für Eure Lösungsideen bin ich sehr dankbar.
Jürg

Function wert2
(tbl As Range, Zeile As Range, Spalte As Range) As Single Dim ws As Worksheet Set ws = Worksheets(tbl.Text) wert2 = ws.Cells(ws.Range(Zeile.Value).Row, ws.Range(Spalte.Value).Column).Value Set Zeile = Nothing Set Spalte = Nothing Set ws = Nothing End Function

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

Betreff
Datum
Anwender
Anzeige
AW: Grafik wird nicht aktualisiert
07.01.2016 11:13:08
Daniel
Hi
das Problem ist, dass das Ergebnis dieser Funktion auf Zellen basiert, welche nicht in den Übergabeparametern direkt angegeben sind.
Excel berechnet funktionen nur dann neu, wenn sich in den Zellen, die als Übergabeparameter definiert sind, eine Änderung ergeben hat.
Wenn du bei deiner Formel eine automatische Neuberechnung haben willst, dann musst du sie volatil machen.
hierzu fügt man den Befehl: Application.Volatil als erste Zeile des Codes ein.
die Funktion wird dann bei jeder Zellwertänderung in Excel neu berechnet, so dass du nicht extra eine neuberechnung anstossen musst.
allerdings ist die Funktion unötig, dafür gibt es ja schon die Funktion Indirekt.
wenn in A1 der Blattname, in B1 die Zeilennummer und in C1 der Spaltenbuchstabe steht, dann:
=INDIREKT("'"&A1&"'!"&C1&B1)
wenn in A1 der Blattname, in B1 die Zeilennummer und in C1 die Spaltennummer steht, dann:
=INDEX(INDIREKT("'"&A1&"'!A:XFD");B1;C1)

Gruss Daniel

Anzeige
AW: Grafik wird nicht aktualisiert
08.01.2016 07:21:23
Jürg
Lieber Daniel
Herzlichen Dank für Deine Antwort. "Application.Volatile", das ist genau das wonach ich gesucht haben. Mit der Funktion Indirekt geht es im Prinzip natürlich auch. Dieses Lösung habe ich aber verworfen, aus Gründen die ich in der Fragestellung einfachheitshalber weggelassen habe.
Herzlichen Dank
Jürg

AW: Grafik wird nicht aktualisiert
07.01.2016 11:21:35
EtoPHG
Hallo Jürg,
Wenn du mit Zitat: ... Ändert man die Werte der entsprechenden Zellen ... meinst, dass deine Funktion auf Wertänderungen im Worksheet(tbl.Text) reagieren soll, befindest du dich auf dem Holzweg. Deine Funktion wird nur automatisch neu berechnet, wenn du Werte in den 3 Input-Parameter änderst, denn dein Code macht sowas ähnliches wie die INDIREKT Funktion.
Mit dem Datentyp Single hat das Nichts zu tun!
Zudem scheint mir der Code noch aus anderer Sicht sehr fragwürdig! Vielleicht erklärst du mal, was du damit erreichen willst und warum du dir den Wert nicht mit einer einfache INDEX-Funktion als Formel beschaffst!
Gruess Hansueli

Anzeige
oops... Daniel sagte schon dasselbe! (owT)
07.01.2016 11:41:42
EtoPHG

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige