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

UDS beim Öffnen aktualisieren

UDS beim Öffnen aktualisieren
29.06.2007 10:14:11
Stefan
Hallo,
ich habe zwei UDFs geschrieben, die Dateien überprüfen.
Die eine gibt zurück, ob die Datei existiert.
Die andere, wann das letzte Speicherdatum war.
Leider gibt es bei der zweiten Funktion ein Problem.
Ich habe beide Funktionen in meine Excel-Datei eingebaut.
Beim Öffnen der Datei aktualisiert sich die erste Funktion automatisch. Sie wird also neu berechnet.
Die zweite Funktion allerdings nicht.
Damit die zweite Funktion berechnet wird muss ich immer in die Formel gehen und Enter drücken.
Dann werden aber alle Zellen mit dieser Funktion berechnet.
Application.volatile brachte auch nichts. F9 zeigt auch keine Wirkung.
Irgendwelche Ideen?
Hier die beiden Funktionen:

Function FileExistiert(Dateiname As String) As Boolean
FileExistiert = False
If Dir(Dateiname)  "" Then
FileExistiert = True
End If
End Function



Function FileDatum(Dateiname As String) As Date
Dim kurzDat As Date
FileDatum = CDate("1.1.1950")
If Dir(Dateiname)  "" Then
kurzDat = FileDateTime(Dateiname)
FileDatum = DateSerial(Year(kurzDat), Month(kurzDat), Day(kurzDat))
End If
End Function


Danke
Stefan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UDS beim Öffnen aktualisieren
29.06.2007 10:43:50
Luschi
Hallo Stefan,
schreibe folgenden Code in die Tabelle, in der die Funktionen stehen und passe die Zelladressen _ an:

Private Sub Worksheet_Activate()
ActiveSheet.Range("B3, B7").Calculate
End Sub

Gruß von Luschi
aus klein-Paris

AW: UDS beim Öffnen aktualisieren
29.06.2007 10:48:00
Matthias
Hallo Stefan,
und wenn das von Luschi nicht klappt, probier' mal:

Private Sub Workbook_Open()
Sheets("Tabelle1").Range("A1,C3").Dirty 'Bereich anpassen
End Sub


Gruß Matthias

AW: UDS beim Öffnen aktualisieren
29.06.2007 10:54:29
Luschi
Hallo Matthias,
dies steht in der XP-Excel-Hilfe:
Ausdruck.Dirty
Bestimmt einen Bereich, der bei der nächsten Neuberechnung erneut berechnet werden soll.
Anmerkung
Die Calculate-Methode erzwingt für Zellen, bei denen Microsoft Excel erkennt, dass eine Neuberechnung erforderlich ist, die erneute Berechnung des angegebenen Bereichs.
Also wird mein Vorschlag sofort ausgeführt, während Dirty sich nur merkt, das mal wieder neu berechnet werden sollte. Dem Zeitpunkt bestimmt Excel.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: UDS beim Öffnen aktualisieren
29.06.2007 11:02:00
Matthias
Hallo Luschi,
Du hast recht, aber wenn die Berechnug auf automatisch steht (wovon ich hier ausgehe), ist der Zeitpunkt doch, sobald Excel wieder Zeit hat, also eigentlich sofort.
Ich hab's mit dieser Function ausprobiert:

Function PlusEins()
PlusEins = Val([a1].Text) + 1
End Function


und in A1 die Formel =PlusEins() geschrieben.
Wenn ich nun im Direktfenster [A1].Dirty ausführe, zählt die Zelle hoch, nicht aber bei [A1].Calculate. Denn Excel "denkt" ja beim .Calculate-Befehl "passt schon, A1 ist ja schon berechnet.". Anders wäre es mit Application.CalculateFull, das berechnet ja alles neu, egal ob nötig oder nicht.
Gruß Matthias

Anzeige
AW: UDS beim Öffnen aktualisieren
29.06.2007 11:03:00
Stefan
So - hab beides getestet.
.calculate funktioniert nicht
.dirty klappt
Vermutlich erkennt Excel bei calculate nicht die Notwendigkeit der Neuberechnung.
Vielen Dank für die Hilfe.
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige