Hallo zusammen,
In der nächsten Woche habe ich in der Schule eine Prüfung über VBA. Nun haben wir einige Übungen dazu gemacht, kann es jedoch noch nicht so gut, dass ich mein Problem selber lösen kann.
Von einem Kollege habe ich Erfahren, dass sie an einer Prüfung folgendes Programm schreiben mussten.
Man gibt ein Datum ein (z.B. 29.02) und das VBA Programm gibt dir an welchen Tag im Jahr das ist. Hier z.B. der 60. Tag im Jahr...
Dieses Programm habe ich bis anhin so geschrieben:
Option Explicit
Sub Tag_im_Jahr_finden()
Dim intTag As Integer
Dim byteTagLoop As Byte
Dim intMonat As Integer
Dim byteMonatLoop As Byte
Dim intTageMonat As Integer
Dim intLoesung As Integer
byteTagLoop = 0
Do While byteTagLoop < 1
intTag = InputBox("Geben Sie den Tag ein (ganze Zahl):")
If (intTag > 0) Then
If (intTag < 32) Then
byteTagLoop = 2
Else
MsgBox ("Ein Tag im Monat (1-31)")
byteTagLoop = 0
End If
Else
MsgBox ("Ein Tag im Monat (1-31)")
byteTagLoop = 0
End If
Loop
byteMonatLoop = 0
Do While byteMonatLoop < 1
intMonat = InputBox("Geben Sie den Monat ein (ganze Zahl):")
If (intMonat > 0) Then
If (intMonat < 13) Then
byteMonatLoop = 2
Else
MsgBox ("Ein Monat im Jahr (1-12)")
byteMonatLoop = 0
End If
Else
MsgBox ("Ein Monat im Jahr (1-12)")
byteMonatLoop = 0
End If
Loop
If (intMonat = 1) Then
intTageMonat = 0
Else
If (intMonat = 2) Then
intTageMonat = 31
Else
If (intMonat = 3) Then
intTageMonat = 59
Else
If (intMonat = 4) Then
intTageMonat = 90
Else
If (intMonat = 5) Then
intTageMonat = 120
Else
If (intMonat = 6) Then
intTageMonat = 151
Else
If (intMonat = 7) Then
intTageMonat = 181
Else
If (intMonat = 8) Then
intTageMonat = 212
Else
If (intMonat = 9) Then
intTageMonat = 242
Else
If (intMonat = 10) Then
intTageMonat = 273
Else
If (intMonat = 11) Then
intTageMonat = 303
Else
intTageMonat = 334
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
intLoesung = intTageMonat + intTag
MsgBox ("Ihr Datum: " & intTag & "." & intMonat & " ist umgerechnet der " & intLoesung & ". Tag im Jahr")
End Sub
Ich weiss das ist nicht eine optimale Lösung und darum möchte ich euch Fragen wie das Programm am besten/einfachsten funktionieren könnte.
Um eine komplett Lösung wäre ich sehr Dankbar!
Vielen Dank für euren Aufwand
Gruss, Alex
|