title image


Smiley Re: Sorry, aber.....
hallo Werner,



keine Problem - wir werden es lösen.



ich schicke Dir die Tabelle.



Ich glaube, das Problem besteht im Datentyp.

Ich bin davon ausgegangen, dass in Spalte A ein Datum steht (ist bei Dir auch so) und das die Benutzereingabe auch ein Datum ist! Das ist bei Dir nicht so, denn in meinem Debugger ist txtvon = #01.01.05#. Bedeutet: es ist intern eine Zahl, wird mir aber formatiert als Datum dargestellt. Dein txtvon ist reiner Text (String) und damit fällt er beim Vergleich der Spalte A auf die Nase.

CDbl(txtvon) ist bei mir 38353 und entspricht damit der internen Datumszahl. Setzte ich txtvon = "01.01.2005" (also auf String), dann komme ich auf Dein Ergebnis.



In einem meiner Beispielt hatte ich die Input-Box eingesetzt. Die liefert als Rückgabewert auch nur Text und deshalb hatte ich diesen im zweiten Schritt jeweils noch umgewandelt:

cdummy = InputBox("Bitte von-Datum eingeben", "Auswertungszeitraum")

txtvon = DateSerial(Year(cdummy), Month(cdummy), Day(cdummy))

cdummy = InputBox("Bitte bis-Datum eingeben", "Auswertungszeitraum")

txtbis = DateSerial(Year(cdummy), Month(cdummy), Day(cdummy))

(Mir erscheint die Umwandlung nicht wirklich elegant, aber da ich sämtliche Unterlagen im Büro habe, weiß ich es im Moment nicht besser.) Wesentlich ist: txtvon ist ein Datum während cdummy ein String ist.



Oft reicht es, die Variablen vorher sauber zu deklarieren und dann geht es auch so:

Dim txtvon As Date, txtbis As Date

txtvon = InputBox("Bitte von-Datum eingeben", "Auswertungszeitraum")

txtbis = InputBox("Bitte bis-Datum eingeben", "Auswertungszeitraum")

Ob das bei Dir funktioniert hängt davon ab, wie Du die Werte txtvon und txtbis vom Anwender eingeben lässt.





viele Grüße. Heide



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: