Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Inputbox mit mehreren Eingabefeldern?

Inputbox mit mehreren Eingabefeldern?
31.10.2005 11:07:19
Reno
Guten Morgen Herber-Forum,
ich haenge mal wieder in einer Excel-Zwickmuehle fest und bitte euch diesbezueglich um eure Hilfe.
Ich wollte einfachhaltshalber eine Inputbox mit mehreren Eingabefeldern generieren.
a) Ist das ueberhaupt moeglich oder muss ich jeden einzelnen Wert nacheinander abfragen?
b) Letztlich sollten die eingegebenen Werte in einer Tabelle erscheinen, womit ich leider auch so meine Schwierigkeiten habe...mmh. also wie ich den Inhalt des Eingabefeldes zu einer Zelle verknuepfe.
c) Und wie klassifiziere ich das Inputboxeingabefeld als Integer oder String so das nur Zahlen oder Text eingegeben werden koennen?
d) Besteht auch die Moeglichkeit bei Nichtwissen des einzugebenen Wertes einen Standardwert in der Tabelle zu uebernehmen? (z.B. wenn der Exceltool Benutzer nicht weiss wie lange seine Maschine pro Tag laeuft, dass automatisch eine 24 uebernommen wird)?
Habe versucht mein Problem in folgender Datei darzustellen:
https://www.herber.de/bbs/user/27984.xls
Bei Fragen bzw. Unklarheiten bitte nochmal nachhaken.
Gruss, Reno
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Inputbox mit mehreren Eingabefeldern?
31.10.2005 14:48:08
Reno
Hallo Leute,
was habe ich falsch gemacht oder nicht beachtet das meine Frage nicht behandelt wird.
Stehe ich irgendwo auf der schwarzen Liste? Hatte mich eigentlich immer zurueck gemeldet.
Bitte um Antwort...
Gruss, Reno
AW: Inputbox mit mehreren Eingabefeldern?
31.10.2005 16:06:38
Kurt
Geht nicht!
AW: Inputbox mit mehreren Eingabefeldern?
31.10.2005 16:20:35
Andi
Hi,
nun, das is vielleicht a bisserl knapp, oder?
"Geht nicht" ist die richtig Antwort auf die Frage, ob man mehrere Eingabe-Felder in einer Input-Box unterbringen kann. Bei VBA-nein könnte man den Frager aber zB noch darauf hinweisen, dass man sich eine solche Eingabe-Maske natürlich per UserForm basteln kann.
"Geht nicht" ist wohl kaum die richtige Antwort auf die Frage nach 'nur Zahl' oder 'nur Text'; zB kann man sowas über den type festlegen (siehe online-Hilfe zur Input-Box) oder man fragt die Eingabe nach IsNumeric ab:
a = InputBox("...")
if [not] IsNumeric(a) then...
"Geht nicht" ist ja nun auf jeden Fall verkehrt, wenn sich das auf die Frage bezieht, wie man die Eingabe in eine Zelle bekommt.
In obigem Beispiel zB so:
Range("A1").Value = a
Ich hoffe, damit in bisschen geholfen zu haben; bin leider nimmer lang am Rechner und kann auf Rückfragen wohl erst morgen wieder reagieren.
Schönen Gruß,
Andi
Anzeige
Nachtrag
31.10.2005 16:24:04
Andi
Hi nochmal,
ich wusste doch, dass ich noch was vergessen hatte:
einen default-Wert (in diesem Fall 24) kann man natürlich für ne Input-Box auch festlegen:
a = InputBox("Bitte Eingabe", "Titel", "24")
Schönen Gruß,
Andi
;
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Eingabefelder in einer Inputbox erstellen


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen: Da die standardmäßige Excel Inputbox keine mehreren Eingabefelder unterstützt, musst Du eine UserForm erstellen:

    • Öffne den VBA-Editor mit ALT + F11.
    • Klicke auf Einfügen > UserForm.
    • Füge TextBoxen für die gewünschten Eingaben hinzu.
    • Füge Schaltflächen für „OK“ und „Abbrechen“ hinzu.
  2. Code für die UserForm: Füge den folgenden Code in das UserForm-Modul ein, um die Eingaben zu verarbeiten:

    Private Sub btnOK_Click()
       ' Beispiel: Eingaben in Zellen schreiben
       Sheets("Tabelle1").Range("A1").Value = TextBox1.Value
       Sheets("Tabelle1").Range("A2").Value = TextBox2.Value
       Unload Me
    End Sub
    
    Private Sub btnCancel_Click()
       Unload Me
    End Sub
  3. UserForm aufrufen: Füge den folgenden Code in ein Modul ein, um die UserForm anzuzeigen:

    Sub ShowUserForm()
       UserForm1.Show
    End Sub
  4. Standardwerte setzen: Um Standardwerte in den TextBoxen anzuzeigen, kannst Du im Initialisierungsereignis der UserForm den Code hinzufügen:

    Private Sub UserForm_Initialize()
       TextBox1.Value = "Standardwert 1"
       TextBox2.Value = "Standardwert 2"
    End Sub

Häufige Fehler und Lösungen

  • Fehler: UserForm wird nicht angezeigt.

    • Lösung: Stelle sicher, dass Du den Aufruf ShowUserForm ausführst.
  • Fehler: Eingaben werden nicht in die Zellen geschrieben.

    • Lösung: Überprüfe die Namen der TextBoxen und die Zielzellen im Code.
  • Fehler: UserForm schließt sich nicht.

    • Lösung: Vergewissere Dich, dass die Unload Me-Anweisung im Code vorhanden ist.

Alternative Methoden

Wenn Du keine UserForm verwenden möchtest, kannst Du auch mehrere InputBoxen nacheinander abfragen:

Sub MehrereEingaben()
    Dim eingabe1 As String
    Dim eingabe2 As String

    eingabe1 = InputBox("Bitte erste Eingabe:", "Eingabe")
    eingabe2 = InputBox("Bitte zweite Eingabe:", "Eingabe")

    Sheets("Tabelle1").Range("A1").Value = eingabe1
    Sheets("Tabelle1").Range("A2").Value = eingabe2
End Sub

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du die UserForm verwenden kannst, um mehrere Eingaben zu akzeptieren und Standardwerte zu setzen. Stelle sicher, dass Du die UserForm mit den entsprechenden TextBoxen und Schaltflächen erstellt hast.

Private Sub btnOK_Click()
    ' Beispiel: Eingaben in Zellen schreiben
    Sheets("Tabelle1").Range("A1").Value = TextBox1.Value
    Sheets("Tabelle1").Range("A2").Value = TextBox2.Value
End Sub

Tipps für Profis

  • Validierung der Eingaben: Verwende IsNumeric oder Len in der UserForm, um sicherzustellen, dass nur die gewünschten Datentypen eingegeben werden.

  • Benutzerfreundlichkeit: Füge Beschriftungen und Tooltips zu den TextBoxen hinzu, um dem Benutzer die Eingabe zu erleichtern.

  • VBA-Eingabefelder: Erstelle eine Funktion, die mehrere Eingaben in einer einzigen UserForm verarbeitet, um den Code sauber und übersichtlich zu halten.


FAQ: Häufige Fragen

1. Kann ich eine InputBox mit mehreren Eingabefeldern direkt erstellen? Leider ist das nicht möglich. Du musst eine UserForm verwenden, um mehrere Eingabefelder zu erstellen.

2. Wie kann ich sicherstellen, dass nur Zahlen eingegeben werden? Du kannst die Eingabe mit IsNumeric überprüfen, nachdem der Benutzer die Eingabe getätigt hat.

3. Gibt es eine Möglichkeit, einen Standardwert in der InputBox zu setzen? Ja, in einer UserForm kannst Du Standardwerte im UserForm_Initialize-Ereignis festlegen. Bei einer InputBox kannst Du einen Standardwert als dritten Parameter übergeben:

InputBox("Bitte Eingabe", "Titel", "Standardwert")

4. Wie kann ich mehrere Werte in eine Tabelle schreiben? Verwende die Zuweisung von Werten an die jeweiligen Zellen wie im Beispiel gezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige