Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Textbox als Sucheingabe über Combobox werte

VBA Textbox als Sucheingabe über Combobox werte
05.07.2019 20:35:53
Waldemar
Moin zusammen,
ich bin schon etwas länger auf der Suche nach einer möglichkeit über VBA etwas in eine Textbox einzugeben und über eine Combobox ausgegben zu lassen. Dies macht er auch aber leider nur einen wert aus meiner Tabelle .
Z.b Textbox = Meyer als such kriterium
Combobox = Max
Was ich suche ist halt
Textbox = Meyer
Combobox = Max
Bernt
Paul
Peter

Private Sub TextArtikelnummer_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As  _
Integer)
Dim SN
Dim c As Range
SN = TextMuster.Text
Set c = Sheets("Muster12").Columns(1).Find(SN)
If Not c Is Nothing Then
Me.Text.Text = c.Offset(0, 1).Text
Me.TextBox7.Text = c.Offset(0, 4).Text
Me.TextBox8.Text = c.Offset(0, 7).Text
Me.ComboBox1.Text = c.Offset(0, 8).Text
End If
End Sub

Danke schon mal
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Textbox als Sucheingabe über Combobox werte
05.07.2019 20:44:04
Regina
Hi,
mit Find "erwischst" Du auch nur den ersten Wert.
Um eine Combobox mit allen Vornamen zu befüllen, müsstest Du mit einer schleife durch die Spalte A laufen und bei jeder Zeile prüfen, ob der Suchtext in der Zeile steht. Wenn ja, kannst Du mit Combox1.AddItem den Wert aus der Spalte H in die Combobox eintragen.
Ws ich nicht verstehe:
Wenn der Suchtext mehrfach vorkommen kann, was soll in die Textbox 7 und 8 eingetragen werden. Der erste gefundene Wert?
Vielleicht wird das Ganze mit einer Beispieldatei verständlicher.
Gruß
Regina
Anzeige
AW: VBA Textbox als Sucheingabe über Combobox werte
05.07.2019 20:56:35
Waldemar
Hi Regina,
danke für deine zügige Antwort
Ja der einzige Variable Wert befindet sich in "H" und die Werte möchte ich als auswahl möglichkeiten anbieten hast du da einen Code da ich eigentlich totaler VBA Anfänger bin.
AW: VBA Textbox als Sucheingabe über Combobox werte
05.07.2019 22:55:55
Regina
D.h.
Erst Suche nach Nachname, dann Anzeige der Vornamen passend zum Nachnamen und nach Auswahl des Vornamens Anzeige des kompletten Eintrags?
Kann ich Dir was basteln, aber dazu lade mal Deine Datei hoch, sonst geht das bestimmt gegen die Wand.
Überlegenswert wäre auch, das Ganze nicht in Excel, sondern als echte Datenbank in Access zu realisieren. Das spart jede Menge VBA-Code.
Gruß
Regina
Anzeige
AW: VBA Textbox als Sucheingabe über Combobox werte
05.07.2019 20:45:06
onur
Google doch mal "VBA find" - dann kommt als Erstes:
https://docs.microsoft.com/de-de/office/vba/api/excel.range.find
Dann weisst du, wie man diese Funktion richtig benutzt.
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA Textbox und Combobox für die Suche in Excel nutzen


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. UserForm erstellen: Füge ein neues UserForm hinzu, indem du im Menü auf Einfügen und dann auf UserForm klickst.
  3. Textbox und Combobox hinzufügen: Ziehe eine Textbox und eine Combobox auf das UserForm.
  4. Code für die Textbox eingeben:

    Private Sub TextMuster_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
       Dim SN As String
       Dim c As Range
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("Muster12")
    
       ' Den Suchtext aus der Textbox holen
       SN = Me.TextMuster.Text
       ' Combobox leeren
       Me.ComboBox1.Clear
    
       ' Durch die Spalte A laufen und alle passenden Namen zur Combobox hinzufügen
       For Each c In ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
           If InStr(1, c.Value, SN, vbTextCompare) > 0 Then
               Me.ComboBox1.AddItem c.Offset(0, 7).Value ' Spalte H verwenden
           End If
       Next c
    End Sub
  5. Formular testen: Schließe den VBA-Editor und teste das UserForm in Excel.

Häufige Fehler und Lösungen

  • Fehler bei der Combobox-Befüllung: Wenn die Combobox leer bleibt, überprüfe die Referenz auf die richtige Spalte. Stelle sicher, dass die Spalte H (Offset(0, 7)) die gewünschten Werte enthält.
  • Textbox zeigt falsche Werte an: Achte darauf, dass die Suchfunktion korrekt implementiert ist. Der InStr-Befehl sollte den Text in der Textbox vergleichen.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch Excel-Filter oder die Funktion SVERWEIS in Kombination mit Dropdown-Listen nutzen, um Daten zu suchen und anzuzeigen. Dies erfordert keine Programmierung, ist aber weniger flexibel.


Praktische Beispiele

  1. Beispiel für die Suche nach Nachnamen: Wenn du in der Textbox "Meyer" eingibst, wird die Combobox mit Vornamen wie "Max", "Bernt", "Paul" und "Peter" gefüllt.
  2. Datenbankanwendung: Überlege, ob du anstelle von Excel eine Datenbank wie Access verwenden möchtest, um die Verwaltung von Daten effizienter zu gestalten.

Tipps für Profis

  • Nutze Option Explicit am Anfang deines VBA-Codes, um sicherzustellen, dass alle Variablen deklariert sind.
  • Überlege, eine Fehlermeldung einzufügen, wenn kein passender Eintrag gefunden wird, um die Benutzerfreundlichkeit zu erhöhen.
  • Experimentiere mit der Benutzeroberfläche und füge Buttons hinzu, um die Suche zu starten oder die Combobox zurückzusetzen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Suchkriterien verwenden?
Du kannst die Logik in der Schleife anpassen, um mehrere Kriterien zu berücksichtigen. Verwende AND oder OR in der If-Bedingung.

2. Funktioniert dieses Beispiel in allen Excel-Versionen?
Ja, das Beispiel ist mit den meisten modernen Excel-Versionen kompatibel, die VBA unterstützen (Excel 2007 und später).

3. Was ist der Vorteil von VBA gegenüber Excel-Formeln?
VBA ermöglicht eine dynamischere und interaktive Benutzererfahrung, indem es komplexe Logik und Benutzerinteraktionen unterstützt, die mit Standardformeln nicht möglich sind.

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