Thema Datum  Von Nutzer Rating
Antwort
01.10.2007 06:13:37 Meik
NotSolved
Blau Aw:Überlauf bei Datumsvergleich
01.10.2007 09:42:44 Sozu
NotSolved

Ansicht des Beitrags:
Von:
Sozu
Datum:
01.10.2007 09:42:44
Views:
1128
Rating: Antwort:
  Ja
Thema:
Aw:Überlauf bei Datumsvergleich
Hallo Meik,

in deinem Code sind mir mehrere Sachen aufgefallen:

Zunächst einmal sind var1 und var2 als Integer deklariert, d.h. sie können Werte von -32.768 bis +32.767 annehmen. Da in einer Excel-Tabelle bis zu 65536 Zeilen existieren, kommt es zum Überlauf sobald du die Zeile 32768 abfragen willst. Daher deklariere var1 und var2 als "Long".

Dann ist deine Abfrage des Zellwertes "Cells(var1,1)=" nicht "sauber". Schreibe besser Cells"(var1,1).VALUE=", dann weiß VBA auch, dass du den WERT der Zelle ansprichst und nicht etwa seine Farbe usw.! Das hat alles mit "sauberer" Programmierung zu tun und du solltest es dir von Anfang an angewöhnen.

In einer Textbox steht, wie der name schon sagt zunächst einmal ein TEXT. Um ein Datum, das in Textform eingegeben ist, in ein ECHTES Datum zu verwandeln kannst du den Befehl "DateValue(#Datumstext#)" benutzen.

Und wo steht in deinem Code eigentlich var1=var1+1 ???

Nun zu deinem Überlauf:
In deinen Schleifen solltest du um einen Überlauf (trotz Long-Deklaration) zu vermeiden eine 2. Abbruchbedingung eingeben. Der Aufruf würde dann etwa so aussehen:

Do Until Datevalue(Cells(var2, 9).Value) = Datevalue(Cells(var1, 1).Value) OR var2=65536
var2=var2+1
Loop

Nun solltest du VOR deinem Eintrag in Celle(var2,10).Value=... noch abklären, ob wirklich ein entsprechendes Datum gefunden wurde.

Gruß Sozu



Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
01.10.2007 06:13:37 Meik
NotSolved
Blau Aw:Überlauf bei Datumsvergleich
01.10.2007 09:42:44 Sozu
NotSolved