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

Forumthread: UserForm statt InputBox

UserForm statt InputBox
17.02.2007 20:04:00
Fritz
Hallo,
statt der folgenden 2 InputBoxes möchte ich ein UserForm erstellen
(VBA-Kenntnisse so ein wenig)
Was muss ich in der TextBox1 und TextBox2 eingeben,
damit ich beide InputBoxes weglassen kann, und mir Excel die beiden Variablen via TextBox "füllt".
Danke für Antwort
Fritz
Sub loeschen()
Dim i As Long
Dim spaltex As String
Dim datumx As Date
datumx = InputBox("welches Datum löschen")
spaltex = InputBox("welche Spalte (in Ziffern angeben)?")
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm statt InputBox
17.02.2007 20:42:00
Peter
Hallo Fritz,
sieh dir die beigefügte Mappe an: https://www.herber.de/bbs/user/40507.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: UserForm statt InputBox
17.02.2007 20:45:12
chris
Hallo,zuerst musst du eine Userform erstellen mit 2 textboxen.
Dann geht das so.
Option Explicit

Sub neu()
Dim datumx
Dim spaltex
UserForm1.Show
datumx = UserForm1.TextBox1.Text
spaltex = UserForm1.TextBox2.Text
UserForm1.Hide
MsgBox datumx & " " & spaltex
End Sub

Anzeige
AW: UserForm statt InputBox
17.02.2007 20:58:00
Peter
Hallo Fritz,
noch ein wenig komfortabler. Mach einen Doppelklick auf die Datums-TextBox, dann wird dir ein Kalender eingeblendet, aus dem du dein Datum per Klick auswählen kannst, das dann in die TextBox eingefügt wird.
https://www.herber.de/bbs/user/40508.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

UserForm anstelle von InputBox in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine UserForm in Excel VBA zu erstellen, die InputBoxen ersetzt, folge diesen Schritten:

  1. UserForm erstellen:

    • Öffne den VBA-Editor mit Alt + F11.
    • Klicke im Menü auf Einfügen > UserForm.
    • Füge zwei TextBoxen zu deiner UserForm hinzu (TextBox1 und TextBox2).
  2. VBA-Code hinzufügen:

    • Füge den folgenden Code in das Modul deiner UserForm ein:
    Sub neu()
       Dim datumx As String
       Dim spaltex As String
       UserForm1.Show
       datumx = UserForm1.TextBox1.Text
       spaltex = UserForm1.TextBox2.Text
       UserForm1.Hide
       MsgBox datumx & " " & spaltex
    End Sub
  3. Kalender hinzufügen (optional):

    • Um die Datums-TextBox komfortabler zu gestalten, kannst du ein Kalendersteuerelement implementieren, das beim Doppelklick auf die TextBox erscheint.
  4. Testen:

    • Führe das Makro neu aus, um zu überprüfen, ob die UserForm korrekt funktioniert und die Eingaben wie gewünscht übernimmt.

Häufige Fehler und Lösungen

  • Fehler: UserForm wird nicht angezeigt:

    • Stelle sicher, dass du UserForm1.Show im Code verwendest und die UserForm korrekt benannt ist.
  • Fehler: TextBox bleibt leer:

    • Überprüfe die Namen der TextBoxen in der UserForm. Sie müssen genau mit den im Code verwendeten Namen übereinstimmen (TextBox1, TextBox2).
  • Fehler: Datumsformat nicht korrekt:

    • Achte darauf, dass das Datum im richtigen Format in die TextBox eingegeben wird. Du kannst eine Validierung im Code hinzufügen.

Alternative Methoden

Wenn du keine UserForm verwenden möchtest, kannst du auch weiterhin InputBoxen nutzen. Hier ein Beispiel für den Code:

Sub loeschen()
    Dim i As Long
    Dim spaltex As String
    Dim datumx As String
    datumx = InputBox("welches Datum löschen")
    spaltex = InputBox("welche Spalte (in Ziffern angeben)?")
    MsgBox datumx & " " & spaltex
End Sub

Diese Methode ist weniger benutzerfreundlich, aber einfach umzusetzen.


Praktische Beispiele

Hier ist ein Beispiel, wie du die UserForm zur Eingabe von Daten verwenden kannst:

  1. Benutzerdefinierte Eingabe:

    • Du kannst die UserForm so gestalten, dass sie als Eingabeformular für verschiedene Daten dient, z.B. zur Erfassung von Kundeninformationen oder zur Eingabe von Rechnungsdaten.
  2. Kalender-Integration:

    • Implementiere ein Kalendersteuerelement für die Datums-TextBox, um die Auswahl zu erleichtern und Eingabefehler zu minimieren.

Tipps für Profis

  • UserForm anpassen: Gestalte die UserForm ansprechend, indem du Farben und Schriftarten anpasst. Dies verbessert die Benutzererfahrung.

  • Erweiterte Validierung: Implementiere Eingabevalidierungen in den TextBoxen, um sicherzustellen, dass die Benutzer korrekte Daten eingeben.

  • Ereignisgesteuerte Programmierung: Nutze die Ereignisse der TextBoxen (z.B. Change oder Exit), um die Benutzerführung zu verbessern und sofortige Rückmeldungen zu geben.


FAQ: Häufige Fragen

1. Wie kann ich die UserForm automatisch schließen? Um die UserForm automatisch zu schließen, kannst du UserForm1.Hide an der entsprechenden Stelle im Code einfügen.

2. Ist es möglich, die Werte aus der UserForm in eine Excel-Tabelle zu übertragen? Ja, du kannst die Werte der TextBoxen direkt in eine Excel-Zelle übertragen, indem du z.B. Range("A1").Value = datumx verwendest, nachdem du die Eingaben in der UserForm gesammelt hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige