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

InputBox mit Auswahlliste?

Forumthread: InputBox mit Auswahlliste?

InputBox mit Auswahlliste?
21.02.2003 23:13:28
PeterH
Hallo

Die Eingabe einer Variable mit der InputBox ist mir gelungen. Wie kann ich es nun aber anstellen dass ich den Text nicht eingeben muß, sondern aus einer Liste auswählen kann.

Das soll so ähnlich sein wie bei einer ListBox oder CombinationsBox. Aber bei der Verwendung dieser beiden weiß ich nicht wie ich die Auswahl in den Code als Variable eines normalen Modules hineinbringe.

Sub InputBox1()
Dim Variable
Variable = InputBox(prompt:="Eingeben Auswahlkriterien")
MsgBox (Variable)
End Sub

Hilfe währe Super

Gruß

Peter

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: InputBox mit Auswahlliste?
21.02.2003 23:33:04
PeterW

Hallo Namensvetter,

das ist mit einer Inputbox nicht möglich, entweder machst Du das über eine Userform oder beschreibst Dein Problem etwas ganauer, dann könnte das vielleicht mit Steuerelementen zu lösen sein.

Gruß
Peter

Re: InputBox mit Auswahlliste?
21.02.2003 23:53:22
PeterH

Hallo Peter!

Über eine Userform ist die Lösung auch OK aber wie bekomme ich dann den ausgewählten Wert(Text) als Variable in das modul.

Das ganze ist ein sehr aufwendiges und langes Makro (ist wahrscheinlich auch sehr umständlich geschrieben aber es funktioniert wenigsten). Ich bastle dabei aus einer Liste eine andere Liste und neben vielen Veränderungen wird dabei auch sortiert. Derzeit gebe ich die Bezeichnung der Spalte ein nach der ich sortieren will (immer unterschiedlich), und speicher dann diese Adresse als Variable ein. Ich verwende aber diese Adresse noch für einige Textänderungen, Formatänderunge,etc, in der Tabelle.
Schön währe es wenn ich die Titelzeile mit den Spaltenüberschriften in eine Liste eingeben könnte und mir dann eben durch aufrufen dieser Liste die Spalte auswähle die ich haben will (nach der ich sortieren will und...). Zusätzlich hätte das auch den Vorteil dass ich die Spaltenüberschrit beliebig verändern könnte.

Bin mit nicht sicher ob das jetzt verständlich ist?

Gruß
Peter



Anzeige
Re: InputBox mit Auswahlliste?
22.02.2003 00:41:47
PeterW

Hallo Peter,

poste doch mal den Code, vielleicht findet man dann Möglichkeiten zur Vereinfachung - oder auch einen anderen (einfacheren?) Weg Dein Problem zu lösen.

Gruß
Peter
PS: wenn es die Daten erlauben kannst Du mit die Datei auch komplett mailen

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

InputBox mit Auswahlliste in Excel VBA erstellen


Schritt-für-Schritt-Anleitung

Um eine InputBox mit Auswahlliste in Excel VBA zu erstellen, kannst du eine UserForm verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. UserForm erstellen:

    • Öffne den VBA-Editor (ALT + F11).
    • Klicke im Projekt-Explorer mit der rechten Maustaste auf „VBAProject (DeineDatei)“ und wähle „Einfügen“ > „UserForm“.
  2. Steuerelemente hinzufügen:

    • Füge eine ComboBox (Dropdown) und einen Button zur UserForm hinzu.
    • Klicke mit der rechten Maustaste auf die ComboBox und wähle „Eigenschaften“. Setze die „RowSource“-Eigenschaft auf eine Liste von Werten (z.B. Sheet1!A1:A10).
  3. Code für die UserForm:

    • Doppelklicke auf den Button und füge den folgenden Code ein, um den ausgewählten Wert in eine Variable zu speichern:
    Private Sub CommandButton1_Click()
       Dim selectedValue As String
       selectedValue = ComboBox1.Value
       MsgBox "Du hast ausgewählt: " & selectedValue
       Unload Me
    End Sub
  4. UserForm aufrufen:

    • Erstelle ein neues Modul und füge den Code hinzu, um die UserForm zu öffnen:
    Sub ShowInputBox()
       UserForm1.Show
    End Sub
  5. Makro ausführen:

    • Führe das Makro ShowInputBox aus, um die UserForm mit der Dropdown-Liste anzuzeigen.

Häufige Fehler und Lösungen

  • Fehler: ComboBox zeigt keine Werte an:

    • Überprüfe die RowSource-Eigenschaft der ComboBox. Stelle sicher, dass der Bereich korrekt ist und die Zellen Werte enthalten.
  • Fehler: UserForm schließt sich nicht:

    • Stelle sicher, dass im Button-Click-Ereignis der Unload Me-Befehl vorhanden ist, um die UserForm zu schließen.
  • Fehler: Auswahl wird nicht erkannt:

    • Überprüfe, ob der Button korrekt mit dem Click-Ereignis verknüpft ist.

Alternative Methoden

Falls du keine UserForm verwenden möchtest, kannst du auch eine InputBox mit Dropdown in VBA simulieren, indem du die Data Validation-Funktion in Excel nutzt. Hier ist eine kurze Anleitung:

  1. Wähle eine Zelle aus, in der die Auswahl getroffen werden soll.
  2. Gehe zu „Daten“ > „Datenüberprüfung“.
  3. Wähle „Liste“ als Kriterium und gib den Bereich ein (z.B. A1:A10).
  4. Jetzt kannst du die Zelle als Dropdown-Menü nutzen.

Praktische Beispiele

Hier ist ein Beispiel für ein einfaches Makro, das eine UserForm mit einer Dropdown-Liste erstellt:

Sub CreateDropdownInputBox()
    Dim frm As Object
    Set frm = ThisWorkbook.VBProject.VBComponents.Add(3) ' 3 steht für UserForm
    frm.Properties("Caption") = "Wähle einen Wert"

    Dim cmb As Object
    Set cmb = frm.Designer.Controls.Add("Forms.ComboBox.1", "ComboBox1")
    cmb.Properties("List") = "Option1;Option2;Option3"

    Dim btn As Object
    Set btn = frm.Designer.Controls.Add("Forms.CommandButton.1", "CommandButton1")
    btn.Properties("Caption") = "Auswahl bestätigen"

    ' Code für den Button
    Dim code As String
    code = "Private Sub CommandButton1_Click()" & vbCrLf & _
           "MsgBox ""Du hast ausgewählt: "" & ComboBox1.Value" & vbCrLf & _
           "Unload Me" & vbCrLf & _
           "End Sub"
    frm.CodeModule.InsertLines 1, code

    VBA.UserForms.Add(frm.Name).Show
End Sub

Tipps für Profis

  • Verwende Daten aus einer Tabelle: Du kannst die Auswahlmöglichkeiten dynamisch aus einer Tabelle beziehen, indem du den Bereich in der RowSource-Eigenschaft anpasst.

  • Styling der UserForm: Gestalte deine UserForm ansprechend, um die Benutzererfahrung zu verbessern.

  • Verwendung von Fehlerbehandlungen: Implementiere Fehlerbehandlungen, um die Stabilität deines Codes zu erhöhen.


FAQ: Häufige Fragen

1. Kann ich eine InputBox mit Dropdown in einer Excel-Version verwenden? Ja, die Verwendung einer UserForm ist in Excel VBA ab Excel 2000 bis zur neuesten Version möglich.

2. Was ist der Unterschied zwischen einer InputBox und einer UserForm? Eine InputBox ist einfach und ermöglicht nur die Eingabe von Text, während eine UserForm mehr Flexibilität bietet, einschließlich Dropdown-Listen und anderen Steuerelementen.

3. Wie kann ich die UserForm anpassen? Du kannst die Eigenschaften der UserForm und der Steuerelemente im VBA-Editor ändern, um dein Design anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige