Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
160to164
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
160to164
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum/Neuberechnung/VBA

Datum/Neuberechnung/VBA
21.09.2002 10:27:28
Silvia
Hallo liebe Usergemeinde,
ich habe in VBA keine Erfahrung und desshalb möchte ich an dieser Stelle Euch fragen:

1. Abfrage des Systemdatums in VBA mit Vergleich eines manuell
eingetragenen Datums ...
2. gleichzeitig Einrichtung eines Counters, der manuell
zB. auf eine Laufzeit von x Tagen eingestellt wird und nach
jedem Tag 1 < Zähler abzieht, sowie
3. bei erreichen eines der v.g. Werte, entweder Counter <= 0
oder bei überschreiten des vorgegebenen Laufzeitdatums keine
aktualisierung der Berechnungen durchführt. Dh. die Tabelle
soll angezeigt werden wie sie ist, aber ohne die
eingetragenen Werte zu aktualisieren. Wenn möglich, soll auch
F9 unterdrückt werden.

.... ich weiß, ganz schön lang meine Liste, aber ich bin mir
sicher Ihr könnt mir helfen und bedanke mich für jedes Beispiel
und entsprechende Lösungsansätze.
Gruß Silvia

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Datum/Neuberechnung/VBA
21.09.2002 17:52:53
andre
Hallo Silvia,
1. Dazu ist auch in der Hilfe ausreichend zu finden.
Public Sub DatumVergleich()
Datum1 = Sheets(1).[a1]'dasselbe wie sheets("Tabelle1").Range("A1")
msg = "Tage seit/bis A1: " & DateDiff("d", Now, Datum1)
MsgBox msg
End Sub
2. Ein Counter macht nur Sinn, wenn er auch abgespeichert wird. Dazu kannst Du z.B. ein Makro mit dem Namen AutoOpen werwenden, in dem du den counter nach Datum um 1 änderst in Bezug auf ein Ausgangsdatum. Wenn der user das Original hat, kann er es aber immer wieder überschreiben - oder Du musst ein festes Datum nehmen.
Sub auto_open()
Datum1 = Sheets(1).[a1]
differenz = DateDiff("d", Now, Datum1)
Sheets(1).[a2] = differenz
ActiveWorkbook.Save
End Sub
Wenn Du nicht willst, dass die user auf dem Blatt manuell den counter ändern,musst Du das Blatt ausblenden, z.B. mit
Worksheets("Tabele1").Visible = xlVeryHidden

3. Hier dieUmschaltung von automatisch zu manuell (F9).
if sheets(1).[a2] < - 30 then
With Application
.Calculation = xlManual
.MaxChange = 0.001
.CalculateBeforeSave = False
End With
ActiveWorkbook.PrecisionAsDisplayed = False
end if
F9 lässt sich glaube nicht ausschalten.
Eventuell würde hier auch helfen, wenn es eine Möglichkeit gibt, dass die Datei dann nicht mehr gespeichert werden kann, z.B. indem beim Öffnen der Schreibschutz der Datei gesetzt wird. Ob das geht weiss ich auch nicht - vielleicht nochmal ans Forum wenden.
Am einfachsten wäre, dass die Datei dann nicht mehr zu öffnen geht bzw.gleich wieder geschlossen wird:
if sheets(1).[a2] < - 30 then
ThisWorkbook.close
end if
gruss andre

Anzeige
Re: Datum/Neuberechnung/VBA
22.09.2002 18:26:24
Silvia
Vielen Dank für Deine Anregungen und Beispiele,
ich hatte leider noch keine Zeit es auszuprobieren,
werde es aber jetzt angehen.
Gruß an Andre und alle Anderen
Silvia

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige