Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
224to228
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
224to228
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA (Anffängerfrage)

VBA (Anffängerfrage)
28.02.2003 12:02:18
Horst
Hallo liebe Experten,

bin Anfänger, ein wenig ist mir jedoch schon gelungen, wenn möglicherweise auch nicht sehr professionell.
Was ich möchte ist folgendes;
Es soll das Geburtsdatum abgefragt werden, wenn das Datum in
der Zukunft liegt, soll ein Hinweis kommen, das das nicht geht.
Wenn Datum möglich, kommt die nächste Frage, bei mir Vorname.
Das gelingt mir auch. Probleme habe ich mit dem Abbrechen!!
Gelingt mir nur mit Strg+Alt+Ent.
Wäre für den einen oder anderen Tip dankbar, nehme auch gerne
kritische Anmerkungen zu einem Produkt entgegen.
Sichere Rückantwort bereits jetzt zu.
Mfg.Horst


Sub Geburt()

frage = InputBox("Bitte geben Sie Ihr Geburtsdatum ein." & Chr(13) & _
"(Eingabeformat: TT.MM.JJJJ)", "Geburtsdatum abfragen", _
Format(Now, "DD.MM.YYYY"))
If IsDate(frage) Then
Worksheets(1).[a2] = frage
End If
If Range("A3") >= Range("A20") = True Then
MsgBox "Das geht nicht!!!", and_
Geburt
ElseIf Range("A3") < Range("A20") = True Then
MsgBox "das geht gut so!!", and_
Vorname
End If

End Sub


Sub Vorname()
frage = InputBox("Bitte geben Sie Ihren Vornamen ein." & Chr(13) & _
"Vornamen abfragen")
If True Then
Worksheets(1).[a4] = frage
End If
Wunschdatum
End Sub



5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA (Anffängerfrage)
28.02.2003 12:47:28
Nike

Hi,
ich würd`s so versuchen.
Immer schön die Variablen definieren und den Namen so wählen,
das man erkennt welches Format,
dann mit Goto Springen
und mit ="" prüfen ob die Eingabe leer war...

Sub Geburt()
Dim varInput As Variant
Dim datGeburt As Date
NeueingabeDat:
varInput = InputBox("Bitte geben Sie Ihr Geburtsdatum ein." & Chr(13) & _
"(Eingabeformat: TT.MM.JJJJ)", "Geburtsdatum abfragen", _
Format(Now, "DD.MM.YYYY"))
If varInput = "" Then
Exit Sub
End If
datGeburt = CDate(varInput)
If datGeburt >= Range("A20") = True Then
GoTo NeueingabeDat
ElseIf Range("A3") < Range("A20") = True Then
MsgBox "das geht gut so!!"
End If
NeueingabeVor:
varInput = InputBox("Bitte geben Sie Ihren Vornamen ein." & Chr(13) & _
"Vornamen abfragen")
If varInput = "" Then
Exit Sub
End If
strVor = CStr(varInput)
If strVor = "" Then
GoTo NeueingabeVor
End If
End Sub

bye

Nike

Anzeige
Re: VBA (Anffängerfrage)
28.02.2003 12:53:11
Dan

Hallo Horst,
ich habe Deine Frage gelesen. Mir sind zwei Dinge aufgefallen.
1/ Du benutzt "Option Explicit" nicht. Das solltest Du aber, es ist sehr hilfsreich und verhindert vielle Fehler. In die erste Reihe schreib einfach "Option Explicit"...und siehe im Help nach, was das fur den Code bedeutet.
2/ Ich weiss nicht, ob Du schon weisst, dass man den VBA Code Schritt fur Schritt durchgehen kann. So sieht man, was jede Zeile des Codes macht und man kann die Fehler leichter entdecken. Positioniere den Cursor z.B. in die Reihe, wo Sub Guburt() steht, und drucke taste F8. Immer wenn Du dann nachstes mal die F8 Tasteste druckst, wird sich die nachste Zeile des Codes bearbeiten.

Ich denke, dass wenn Du diese zwei Dinge tust, wirst Du schon den Fehler, den Du beschrieben hast selber entdecken :-)
Mfg. Dan.

Anzeige
Re: noch mehr Tips...
28.02.2003 12:56:50
Nike

Hi,
da kann ich natürlich noch auf die FAQ´s von Hans verweisen,
allgemein

und hier zu selecten usw.

Hier hast du erst mal mehr als genug zu stöbern ;-)

Bye

Nike

Re: VBA (Anffängerfrage)
28.02.2003 14:38:54
BlonderGrieche

Versuch das mal

Option Explicit

Public Sub Alter()
Dim seingabe As String
Dim nDate As String
Dim msg
Dim iAge As Integer

Do
Do
nDate = InputBox("Geben Sie ein Datum ein")
If IsDate(nDate) = False Then MsgBox "Kein gültiger Datumstyp"

Loop Until IsDate(nDate) = True
msg = DateDiff("d", Now, nDate)
iAge = msg / -365
If msg < 0 Then
MsgBox "Du bist " & iAge & " Jahre alt"
seingabe = InputBox("Wie ist Dein Vorname ?")

Exit Do
Else
MsgBox "Datum liegt in der Zukunft"
End If


Loop


End Sub

Anzeige
Re: noch mehr Tips...
28.02.2003 15:17:04
Horst

Vielen Dank für alle Antworten, wobei ich feststellen muß,
daß die Vorschläge mit meiner Idee nicht so richtig viel gemeinsam haben. Ich werde daher wieder weiter rumprobieren.
Wird sicherlich wieder Stunden dauern, Es übt allerdings auch.
Mig
Horst

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige