Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
300to304
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
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datumsprüfung über VBA

Datumsprüfung über VBA
28.08.2003 10:54:36
Chiara
Ciao!

ich versuche gerade eine Indikatoranpassung an gültigkeitsdaten zu binden. in jeder spalte soll der gültige Indikator stehen. da manche Ind. nicht am 1. eines monats wechseln hab ich mit hilfe datepart M und Y herausgegriffen und verglichen. - es funktioniert leider nicht. weiß denn irgendwer wie ihr mir da weiter helfen könnt???

Function Indikator(Datum, Gültig_bis1, Gültig_bis2, Gültig_bis3, Anpassung1)
' Datumsprüfung, welcher Indikator angewendet werden muss
a = DatePart("m", Datum)
b = DatePart("yyyy", Datum)
c = DatePart("m", Anpassung1)
d = DatePart("yyyy", Anpassung1)
e = DatePart("m", Gültig_bis1)
f = DatePart("yyyy", Gültig_bis1)
g = DatePart("m", Gültig_bis2)
h = DatePart("yyyy", Gültig_bis2)
i = DatePart("m", Gültig_bis3)
j = DatePart("yyyy", Gültig_bis3)
If a < c And b < d Then Indikator = ""
If c = a And d = b Then Indikator = "Indikator1"
If d > b Then Indikator = "Indikator1"
If e = a And f = b Then Indikator = "Indikator2"
If f > b Then Indikator = "Indikator2"
If g = a And h = b Then Indikator = "Indikator3"
If h > b Then Indikator = "Indikator3"
If i >= a And j >= b Then Indikator = ""
End Function

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

Betreff
Datum
Anwender
Anzeige
AW: Datumsprüfung über VBA
28.08.2003 11:04:29
Nayus
Hallo,
leider weiß man nicht, was nicht funktioniert, weil Du es nicht sagst ;-)
(Laufzeitfehler/unerwartetes Ergebnis...???)
Mir fällt jedoch ein kleiner logischer Fehler auf.

Erst
If a < c And b < d Then Indikator = ""
und dann
If d > b Then Indikator = "Indikator1"
führt dazu, dass der Funktionswert bei d > b immer "Indikator1" ist.

Gruß,
Nayus
AW: Datumsprüfung über VBA
28.08.2003 11:14:37
chiara
danke für den hinweise. ich hab das geändert, aber trotzdem gibt er als ergebnis "" an. das ist auch der 'fehler'.

lg
chiara
AW: Datumsprüfung über VBA
28.08.2003 11:39:38
Nayus
Hallo,
Habe Deine Funktion mal in eine Mappe eingebaut und ausprobiert:

B3=01.07.2003
B4=01.07.2003
B5=01.07.2003
B6=01.07.2002
B7=01.07.2002

=indikator(B3;B4;B5;B6;B7)
=> liefert "Indikator3"

Also in der Mappe funktioniert es.
Übergibst Du die Variablen auch richtig?
Ich würde generell bei der Funktionsdeklaration die Typen der Variablen und der Rückgabe angeben, weil Du so alles mögliche übergeben kannst, ohne, dass es zu einem Fehler kommt.


Function Indikator(Datum as Date,...) as string
End Function


Viel Erfolg,
Nayus
Anzeige
AW: Datumsprüfung über VBA
28.08.2003 11:14:51
chiara
danke für den hinweise. ich hab das geändert, aber trotzdem gibt er als ergebnis "" an. das ist auch der 'fehler'.

lg
chiara

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige