Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

VBA Programm
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> VBA Programm
 
Autor Nachricht
Pro22
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 15.11.2010
Beiträge: 2

BeitragVerfasst am: 15 Nov 2010 - 18:45:37    Titel: VBA Programm

Hallo,

ich habe folgende Aufgabe:


In einer EXCEL-Tabelle werden technische Daten über Gebrauchtwagen gespeichert.
Die erste Zeile enthält die Spaltenüberschriften:
Lfd. Nr. Hersteller Modell Baujahr km-Stand Farbe Verhandlungsbasis_Preis.
Danach folgen durchnummeriert entsprechende Daten über Gebrauchtwagen.

Schreiben Sie ein VBA-Modul, das die Eingabe nach folgenden Vorgaben fehlerfrei gestaltet:
Die laufende Nummer wird vom Programm hochgezählt.
Der Hersteller darf nicht mit einem Sonderzeichen oder einer Ziffer beginnen. Das Baujahr sollte zwischen 1900 und dem aktuellen Jahr liegen. Km-Stand muss eine positive Ganzzahl sein. Die Verhandlungsbasis_Preis wird in Euro mit 2 Nachkommastellen angegeben.
Wird der Hersteller nicht ausgefüllt, fragt das Programm nach, ob die Eingabe beendet werden soll. Bei Bestätigung endet das Programm, sonst wird weiter eingegeben.

Meine Frage ist jetzt zuerst wie ich die Eingrenzung des Baujahrs mache.
Nur vier Ziffern habe ich schon...

Danke im Vorraus

LG
ingu
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 18.02.2006
Beiträge: 1003

BeitragVerfasst am: 15 Nov 2010 - 19:28:15    Titel: Re: VBA Programm

Pro22 hat folgendes geschrieben:
Meine Frage ist jetzt zuerst wie ich die Eingrenzung des Baujahrs mache.
Nur vier Ziffern habe ich schon...

Hallo und willkommen auf uni-protokolle!
Die Funktion Now gibt die das heutige Datum als Date zurück. Die Funktion Year(Datum) gibt dir zu einem Datum vom Typ Date die Jahreszahl als Integer zurück. Also bekommst du schon mal das aktuelle Jahr mit Year(Now).

Ich denke, das reicht, um dieses Problem schnell lösen zu können.

Gruß, ingu
Pro22
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 15.11.2010
Beiträge: 2

BeitragVerfasst am: 15 Nov 2010 - 19:41:19    Titel:

Ja und wie schreibe ich das ganze dann ?

Bin jetzt nicht der VBA Crack...
ingu
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 18.02.2006
Beiträge: 1003

BeitragVerfasst am: 15 Nov 2010 - 19:55:50    Titel:

naja, ich weiß ja nicht, ob deine Eingabe direkt in die Tabelle erfolgt oder über ein Eingabeformular, deswegen schreibe ich das Programm mal so als ob sie in der Variablen jahr gespeichert wäre (geht ja eh nur um ein Bsp.)
Code:
If jahr < 1900 Or jahr > Year(Now) Then
   MsgBox "Das Baujahr " & CStr(jahr) & " liegt außerhalb des gültigen Bereichs von 1900 bis " & CStr(Year(Now)), _
   vbExclamation, "Ungültige Eingabe"
End If

Alternativ kannst du auch über eine Schleife den Benutzer so lange nach einer korrekten Eingabe fragen bis sie kommt:
Code:
Dim eingabe As String
Do While jahr < 1900 Or jahr > Year(Now)
   eingabe = InputBox("Das Baujahr " & CStr(jahr) & " liegt außerhalb des gültigen Bereichs von 1900 bis " & _
                      CStr(Year(Now)) & vbNewLine & "Bitte geben Sie das Baujahr an.", "Ungülige Eingabe")
   If eingabe = "" Then
      ' Benutzer hat Abgebrochen -> entsprechende Aktion, hier einfach mal als Bsp.
      Exit Sub
   End If
   jahr = CInt(Val(eingabe))
Loop
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> VBA Programm
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum