Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Inputbox mit mehreren Feldern?

Forumthread: Inputbox mit mehreren Feldern?

Inputbox mit mehreren Feldern?
07.10.2003 14:29:58
Tom
Hallo Excel-Team,

wie kann ich eine Inputbox mit mehreren auszufüllenden Feldern erstellen?
Ich benötige die Möglichkeit Daten so einzugeben: Monat/Jahr, wobei ich Monat und Jahr später als zwei extra IntegerVariablen benötige.
Es soll in etwa so aussehen:

"Bitte geben Sie Start- und Endtermin ein (z.B. 03/03 bis 12/03)"
"von" Inputfeld1 "/" Inputfeld2 "bis" Inputfeld3 "/" Inputfeld4

Geht das irgendwie?

Danke, TomTom
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inputbox mit mehreren Feldern?
07.10.2003 15:30:42
GraFri
Hallo

Ich würde es so lösen. Beispiel für eine Datumseingabe (Monate-Jahr). Falls genauere Eingabe (Tag-Monat-Jahr) erwünscht, nochmal melden.



'————————————————————————————————
'   07/10/2003
'©  Ing.Friedrich Grath
'@  grath.fritz@ aon.at
'————————————————————————————————

'In die UserForm ein Spinbutton (Name: SpinMonat, Max=30000, Min=1) und
'ein Textxfeld (Name: TxtMonat) links davon plazieren. Die Auswahl des
'Datums (Monat, Jahr) erfolgt über das Spinbutton. Die dazugehörigen
'Werte sind in den Variablen Monat und Jahr gespeichert.


Dim Jahr        As Integer
Dim Monat       As Integer
Dim Datum       As Date

' Initialisierung
Private Sub UserForm_Initialize()
    Jahr = Int(Format(Now, "yyyy"))
    SpinMonat = Jahr * 12 + Int(Format(Now, "mm"))
End Sub

' Monat einstellen vom Drehfeld
Private Sub SpinMonat_Change()
    Jahr = Int(SpinMonat / 12)       'Jahr
    Monat = SpinMonat Mod 12         'Monat
    
    Datum = DateSerial(Jahr, Monat, 1)
    TxMonat = Format(Datum, "mm/yyyy")
End Sub


     Code eingefügt mit Syntaxhighlighter 2.4


mfg, GraFri
Anzeige
AW: Inputbox mit mehreren Feldern?
07.10.2003 15:49:04
Tom
Hallo GraFri,

danke für die Hilfe, habe es noch nicht ganz verstanden, aber werde es probieren!

Darf ich Dich deswegen ggf. bei Nachfragen(morgen oder übermorgen) über Deine mail-Adresse(grath.fritz@aon.at) kontaktieren oder ist Dir der Forumsweg lieber?

Danke schonmal,
Tomtom
Anzeige
AW: Inputbox mit mehreren Feldern?
07.10.2003 16:07:54
GraFri
Hallo

Habe kein Problem damit. Falls weitere Fragen auftauchen, oder ich dir beim Aufbau eines Programmes behilflich sein kann, dann mail mir die Datei und beschreibe, was du willst. Du wirst staunen, was man mit Excel alles bewerkstelligen kann.

mfg, GraFri
Super - herzlichen Dank! (o.T.)
07.10.2003 16:39:12
Tom
+
;
Anzeige

Infobox / Tutorial

Inputbox mit mehreren Feldern in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine VBA Inputbox mit mehreren Eingabefeldern zu erstellen, kannst du eine UserForm verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Erstelle eine UserForm:

    • Öffne den VBA-Editor (ALT + F11).
    • Klicke auf "Einfügen" > "UserForm".
  2. Füge Steuerelemente hinzu:

    • Ziehe ein Textfeld und ein Spinbutton auf die UserForm.
    • Benenne das Textfeld z.B. TxtMonat und den Spinbutton SpinMonat.
  3. Füge den folgenden Code in die UserForm ein:

    Dim Jahr As Integer
    Dim Monat As Integer
    Dim Datum As Date
    
    Private Sub UserForm_Initialize()
       Jahr = Year(Date)
       SpinMonat.Max = Jahr * 12 + Month(Date)
       SpinMonat.Value = Jahr * 12 + Month(Date)
    End Sub
    
    Private Sub SpinMonat_Change()
       Jahr = Int(SpinMonat.Value / 12)
       Monat = SpinMonat.Value Mod 12
       If Monat = 0 Then Monat = 12
       Datum = DateSerial(Jahr, Monat, 1)
       TxtMonat.Value = Format(Datum, "mm/yyyy")
    End Sub
  4. Zeige die UserForm an:

    • Du kannst die UserForm mit folgendem Code aufrufen:
    Sub ShowInputForm()
       UserForm1.Show
    End Sub
  5. Verarbeite die Eingaben:

    • Nach dem Schließen der UserForm kannst du die Variablen Monat und Jahr weiterverwenden.

Häufige Fehler und Lösungen

  • Fehler: UserForm wird nicht angezeigt
    Lösung: Stelle sicher, dass du den Sub ShowInputForm aufrufst.

  • Fehler: Eingaben werden nicht gespeichert
    Lösung: Überprüfe, ob die Variablen korrekt in der UserForm definiert sind.

  • Fehler: Spinbutton funktioniert nicht richtig
    Lösung: Achte darauf, dass die Eigenschaften für den Spinbutton korrekt gesetzt sind (Min/Max).


Alternative Methoden

Wenn du keine UserForm verwenden möchtest, kannst du auch mehrere VBA Inputboxen hintereinander aufrufen:

Dim Monat As Integer
Dim Jahr As Integer

Monat = InputBox("Bitte geben Sie den Monat ein (1-12):")
Jahr = InputBox("Bitte geben Sie das Jahr ein:")

Diese Methode ist einfacher, ermöglicht jedoch keine anpassbaren Eingabefelder.


Praktische Beispiele

Hier sind einige Anwendungsbeispiele für die Excel VBA Inputbox mit mehreren Eingabefeldern:

  • Monatsberichte: Du kannst die UserForm verwenden, um Berichte für bestimmte Monate zu erstellen.
  • Budgetplanung: Über die Eingaben kannst du Planungen für verschiedene Zeiträume durchführen.

Tipps für Profis

  • Nutze Steuerelemente wie ComboBoxen für die Monatseingabe, um die Benutzerfreundlichkeit zu erhöhen.
  • Implementiere Fehlerbehandlungen, um ungültige Eingaben abzufangen und dem Benutzer eine Rückmeldung zu geben.
  • Speichere die Eingaben in einem Datenblatt, um sie später zu analysieren.

FAQ: Häufige Fragen

1. Wie viele Eingabefelder kann ich in einer UserForm haben?
Du kannst so viele Eingabefelder hinzufügen, wie du möchtest. Achte jedoch auf die Übersichtlichkeit.

2. Kann ich die Eingaben in einer Excel-Tabelle speichern?
Ja, du kannst die Werte direkt in eine Zelle der Tabelle schreiben, nachdem die UserForm geschlossen wurde.

3. Ist die Methode auch in älteren Excel-Versionen verfügbar?
Ja, die Verwendung von UserForms ist in den meisten Excel-Versionen ab Excel 2007 möglich.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige