Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel Aktualisieren

Formel Aktualisieren
02.06.2006 08:42:23
markusv
Hallo zusammen,
habe mal wieder ein kleines Problem: Habe eine eigene Formel entwickelt "SummeJeMitarbeiter" bei der über eine Abfrage für jeden Mitarbeiter die Summe an Dienstzeiten aus Access ermittelt wird. Die Formel funktioniert auch einwandfrei, das Problem ist, dass die neuen Werte nur Aktualisiert werden, wenn ich in der Formel doppelt klicke, dies möchte ich aber automatisiert haben. Ausserdem soll er nur in der jeweils aktuellen Spalte (Es gibt ca. 60 Einzelspalten, daher wäre alles andere zu umfangreich) aktualisiert bzw. nur die veränderten werte.
Viel Spass beim Grübeln,
markus v

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel Aktualisieren
02.06.2006 09:11:30
Marek
Hallo Markus,
hast du schon mal versucht "F9" zu drücken.
Ist in deinen "Extras-Optionen" die Berechnung auf automatisch oder manuell?
Gruß
Marek
AW: Formel Aktualisieren
02.06.2006 10:01:59
markusv
Mit F9 etc. gehts nicht. Berechnung ist auf Auto. Habe im Archiv gelesen, dass die Berechnung nicht möglich ist, da Excel nicht weiss, dass die Eingabe mit der Zelle verknüpft ist. Wenn ich aber eine sich durch die Eingabe ändernde Zelle (z.B. Eingabe: "D", Bei Eingabe trage in Zelle A1 den Wert 1 ein; in Meiner Formel erweiterung um Zelle A1- sollte dazu führen, dass die Formel eine Änderung aufgezwungen kriegt). Führt aber zu einem Datenbankfehler.
Kann auch die Formel zur Verfügung stellen.
Anzeige
AW: Formel Aktualisieren
02.06.2006 09:11:59
Mac4
Hallo Markus,
zu Problem 1 - setzt folgende Zeile an den Anfang Deines Codes:
Application.Volatile
Marc
AW: Formel Aktualisieren
02.06.2006 10:07:19
markusv
Was bewirkt denn dieses Volatitle? kann keine Änderung (oder verbesserung) feststellen.
AW: Formel Aktualisieren
02.06.2006 10:15:51
Mac4
Aus der Onlinehilfe:
Volatile-Methode
Kennzeichnet eine benutzerdefinierte Funktion als flüchtig. Solche Funktionen werden immer neu berechnet, wenn in einer beliebigen Zelle des Tabellenblattes eine Berechnung durchgeführt wird. Nicht flüchtige Funktionen werden nur dann neu berechnet, wenn sich die Eingabevariablen ändern. Diese Methode wird in der Regel in einer benutzerdefinierten Funktion zur Berechnung einer Tabellenzelle verwendet, andernfalls hat sie keine Auswirkung.
Lade die Datei doch mal hoch!
Marc
Anzeige
AW: Formel Aktualisieren
02.06.2006 10:40:10
markusv
Hochladen geht nicht, da zu groß.
Hier die Funktion (incl. Volatile,was aber nix bringt) :
'-------------------------

Function SumJeMA(Abteilung, Dat2, PIN, Dienst)
Dim ADOC As New ADODB.Connection
Dim DBS As New ADODB.Recordset
Dim QuellDB$, s$, Such2$, Such3$
Application.Volatile (True)
QuellDB = Sheets("Grunddaten").Range("B9").Value
ADOC.Open "Provider=microsoft.jet.oledb.4.0;data source=" & QuellDB & ";"
DBS.Open "select * from DiensteJeMitarbeiter", ADOC, adopenkeyset, adlockoptimistic
On Error GoTo Abbruch
s = Abteilung & Dat2 & PIN & Dienst
s = " SumMA = '" & s & "'"
DBS.Find s
Such2 = DBS!SumMA
Such3 = DBS!Summe
DBS.Close
ADOC.Close
SumJeMA = Such3
Exit Function
Abbruch:
SumJeMA = ""
DBS.Close
ADOC.Close
End Function

---------------
Unter Abteilung verbirgt sich der Abteilungsname in Zelle A1.
Unter Dat ist das Tagesdatum hinterlegt.
Pin kennzeichnet den einzelnen Mitarbeiter.
Dienst ist der zu suchende dienst.
Ich gebe nun einen Dienst in der Exceltabelle ein. Die Daten werden nach Access übertragen. Die obige Formel bildet ein Summenergebnis aus den Daten. Geht nicht in Excel, da die Summe nicht aus einer Spalte oder einer konstanten Folge ist. Daher dieser Zwischenschritt (und da diese Abfragen in Access wesentlich einfacher zu lösen sind).
Nun soll die obige Formel starten:
Diese Daten werden aus einer Accesstabelle gesucht, dort eine Abfrage gestartet und das übereinstimmende Ergebnis nach Excel transferiert. Leider klappts halt nicht mit Neuberechnung. Habe schon probiert, hinter "Dienst" noch einen Zellbezug, z.B. B1 zu setzen, und in dieser Zelle bei der ersten Eingabe einen Wert eintragen zu lassen. Führt aber zu einem Datenbankfehler(?)
Alles Klar???
Anzeige
AW: Formel Aktualisieren
02.06.2006 21:41:02
schauan
Hallo Markus,
diese Funktion bringt Dir immer eine Meldung, wenn Du irgendwo auf dem Blatt etwas eingibst.

Function msg_box()
Application.Volatile
MsgBox "Volatile"
End Function

Ob Deine Funktion zumindest angesprochen wird kannst Du feststellen, indem Du irgendwo, am besten ziemlich am Anfang, z.B. in der Volatile-Zeile, einen Haltepunkt setzt.
Wenn der code bis dahin ausgeführt wird machst Du schrittweise weiter. Eventuell stimmt etwas anderes nicht und die Funktion bricht kommentarlos ab ...
AW: Formel Aktualisieren
06.06.2006 08:51:31
markusv
Guten Tag! Nach dem langen Wochenende erst heute meine Antwort!
Werd mal deinen Vorschlag probieren. Vielleicht gibts ja noch andere Vorschläge. Ansonsten klappts ja mit dem Befehl. Am Einfachsten wäre es vielleicht, wenn nur die aktuelle Spalte bzw. Aktuelle Reihe neuberechnet würde. Allerdings möchte ich lange Rechenvorgänge z.B. beim Verlassen der Datei vermeiden. Mal sehen!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige