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
896to900
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
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

altersabfrage

altersabfrage
15.08.2007 11:47:28
ec
Hi mal wider ne frage:
und zwar wenn ich das programm starte läuft es soweit, die datumseingabe klappt auch soweit, nur dann kommt eine fehlermeldung und zwar:

Private Sub txtgebdatum_afterupdate()
Dim sdate As String
sdate = Trim$(txtgebdatum.Value)
If Len(sdate) > 0 Then
If Len(sdate)  10 Then
MsgBox " Ugültige Eingabe"
txt.gebdatum.Value = ""
Else
If Not IsDate(sdate) Then
MsgBox "Ungültige Eingabe"
txtgebdatum.Value = ""
End If
End If
End If
End Sub



Private Sub CommandButton1_click()
Dim shinweis As String, zahler As Long, ctrcontrol As TextBox
Dim alter As String
If Len(Trim$(txtgebdatum.Value)) = 0 Then
If Len(shinweis) > 0 Then shinweis = shinweis & vbCrLf
shinweis = shinweis
If ctrcontrol Is Nothing Then Set ctrcontrol = txtgebdatum
zahler = zahler + 1
End If
If zahler = 1 Then
shinweis = "Die Eingaben sind OK!" & vbCrLf & vbCrLf & " Sie sind aktuell " & _
alter(CDate(txtgebdatum.Value)) & " Jahre alt!" 
End If
End Sub


ok nun die frage:
was soll mir das sagen, bzw was ist falsch?
schon mal danke für die Antwort!
bis nach der Mittagspause :)
mfg

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: altersabfrage
15.08.2007 12:40:08
ec
keiner eine Löung?
mfg

AW: altersabfrage
15.08.2007 13:10:00
Hans
Hallo,
mit einer Nachfrage dieser Art erhöhst Du die Chancen auf eine Antwort nicht gerade, denn man geht schnell davon aus, dass die Frage beantwortet ist.
Wenn ich mir die relevante Stelle aus dem umfangreichen Code ansehe, stelle ich fest, dass Du "alter" als String deklariert hast. Nur, wozu der Aufwand? Wenn ich das richtig verstehe, steht in "txtgebdatum" ein String im Datumsformat (10digital). Allerdings kann da nichts vernünftiges bei rum kommen, denn wie soll dieser String die Jahreszahl angeben?
Wenn Du Deine Zeile:
alter(CDate(txtgebdatum.Value))
änderst in:
txtgebdatum.Value
bekommst Du das Geburtsdatum angezeigt. Zum Alter in Jahren ist das dann aber noch ein Stück.
gruss hans

Anzeige
AW: altersabfrage
15.08.2007 13:37:00
ec
hi, dankeschön.
ja das datum wird so eingegeben:
TT.MM.JJJJ
ja ähm keine ahnung wie der string die jareszahl angeben soll, hab ich irgendwo in einem beispiel mal gelesen.
ich beschäftige mich jetzt ca 1 woche mit vba, deswegen sry für kleinere fehler und dankeschön für jede hilfe!!
ok, dann hab ich das datum und nun?
gute frage.
also ich weiß nicht ob das geht aber ich stell mir das ganze mal ungefähr so vor:
das heutige datum - das geburtsdatum:
date - txtgebdatum.value
oder so
mfg

AW: altersabfrage
15.08.2007 13:50:10
Hans
Hallo,
was einfaches:

Private Sub cmdOK_Click()
If IsDate(txtAlter.Text) Then
MsgBox Application.Round((Date - CDate(txtAlter.Text)) / 365.25, 0)
Else
MsgBox "Kein gültiges Datum!"
End If
End Sub


gruss hans

Anzeige
AW: altersabfrage
15.08.2007 13:11:00
fcs
Hallo ec ki,
du hast versehentlich "alter" als Variable deklariert. Da "alter" eine Function ist, gibt es ein Problem beim Kompilieren.
Lösche die Zeile
Dim alter As String
mit der Variablen-Deklaration.
Dann sollte es klappen.
Gruß
Franz

AW: altersabfrage
15.08.2007 13:21:00
ec
erstmal dankeschön!!!
wenn das nur so einfach wäre ;)
dann kommt die fehlermeldung
sub oder function nicht definiert.
also schein doch nicht so einfach zu sein :( leider
mfg

AW: altersabfrage
15.08.2007 13:31:00
ede
hallo,
dann versuch mal folgenden code nachzuvollziehen:

Function MyJahr(strDatum As String) As Integer
If IsDate(strDatum) Then
iJahr = Year(CDate(strDatum))
MyJahr = Year(Date) - iJahr
End If
End Function



Sub testen()
MsgBox MyJahr("16.08.2000")
End Sub


gruss

Anzeige
AW: altersabfrage
15.08.2007 14:42:00
fcs
Hallo ec ki,
dann fehlt in deinem Code auch noch die Function zur Berechnung des Alters.
Lösche wie beschrieben die Dim-Anweisung und füge die nachfolgende Prozedur zusätzlich in dem Code ein. Da du die Prüfung auf korrekte Datumseingabe ja schon gemacht hast, muss man diese in dieser Function nicht wieder holen.
Gruß
Franz

Function alter(GebDatum As Date) As Integer
'berechnet Alter aus aktuellem Datum und Geburtsdatum
If GebDatum - DateSerial(Year(GebDatum), 1, 1) 


AW: altersabfrage
16.08.2007 09:33:00
ec
Guten Morgen,
eigentlich sollte das ganze ja theoretisch jetzt klappen, ok wenn das datum falsch eingegeben wurde klappt es wie geplant, die msgbox mit der "fehlermeldung" wird angezeigt.
doch wenn ich auf den "OK" Button klicke passiert gar nichts. keine fehlermeldung oder sonst irgendwas.
?

weiß jemand weiter?
mfg
ecki

Anzeige
AW: altersabfrage
16.08.2007 21:20:00
fcs
Hallo ecki,
dann solltes du deine Exceldatei mit dem Userform, ggf. mit ein paar Dummy-Testdaten, jetzt besser mal hier hochlasen. Denn sonst stochern wir hier noch ewig im Nebel.
Gruß
Franz

AW: altersabfrage
17.08.2007 09:48:00
ec
hi
vergessen das als offeme frage zu lassen
sry
hoffe ma des hilft jemand weiter

AW: altersabfrage
17.08.2007 11:38:44
ede
hallo,
habe mir mal dein problem angesehen, kann zwar einiges nicht nachvollziehen, aber so sollte es funktionieren:

Private Sub CommandButton1_Click()
Dim shinweis As String
If Len(Trim$(txtgebdatum.Value))  10 Then
shinweis = "Fehler im Format TT-MM-JJJJ"
Else
shinweis = "Die Eingaben sind OK!" & vbCrLf & vbCrLf & " Sie sind aktuell " & _
alter(CDate(txtgebdatum.Value)) & " Jahre alt!"
End If
MsgBox shinweis
End Sub


gruss

Anzeige
AW: altersabfrage
17.08.2007 12:02:27
ec
hi
dankeschön
es klappt
arbeite erst ca ne woche mit vba.
also für jede hilfe dankbar.
was ist den nicht nachvollziehbar?
mfg

AW: altersabfrage
17.08.2007 12:07:00
ede
wozu die anderen beiden variablen benötigt werden!

AW: altersabfrage
17.08.2007 12:18:00
ec
aso
mh
die sollten eigentlich zur darstellung und zur ... ähm *schulterzucken* :-)
hab wohl irgendwie komplizierter gedacht als eigentlich nötig war.
kennst du dich gut mit vba aus?
ich hätte da noch ein paar fragen.
mfg

AW: altersabfrage
17.08.2007 12:20:31
ede
ein wenig , du kannst aber deine fragen neu abstellen!
gruss und schoenes we.
ede

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige