Office: Abfrage ob Eingabe in Combobx bereits in Liste vorhanden ist

Helfe beim Thema Abfrage ob Eingabe in Combobx bereits in Liste vorhanden ist in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Morgen, in einer UserForm habe ich mehrere Comboboxen, deren Auflistungen auch schon aus definierten Ranges gefüllt sind. Jetzt möchte ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von fette Elfe, 13. Januar 2010.

  1. fette Elfe Erfahrener User

    Abfrage ob Eingabe in Combobx bereits in Liste vorhanden ist


    Guten Morgen,

    in einer UserForm habe ich mehrere Comboboxen, deren Auflistungen auch schon aus definierten Ranges gefüllt sind.

    Jetzt möchte ich erreichen das beim Verlassen der Box Abgefragt wird ob die Eingabe bereits in der Liste/Range vorkommt, um doppelte Eingaben zu vermeiden.

    Habe mir das so in etwa gedacht:
    Code:
    Private Sub ComboBoxneueBemerkung_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim Rg As Range
      Set Rg = Sheets("Stammdaten").Range("Bemerkung"): Set Rg = Rg.Resize(Rg.End(xlDown).Row - 1, 1)
        For Each Cells In Rg
          If Me.ComboBoxneueBemerkung.Value = Cells.Value Then
            MsgBox "Ungültige Eingabe! Wert bereits vergeben! Bitte Eingabe ändern."
            ComboBoxneueBemerkung.SetFocus
          End If
        Next Cells
    End Sub
    
    Für die Zeile
    Code:
    For Each Cells In Rg
    kommt jetzt aber der Fehler:
    Fehler beim Kompilieren:
    Variable erforderlich - Zuweisung an diesen Ausdruck nicht möglich

    Bin ratlos wie ich das umsetzen kann.

    Lieben Gruß Achim
     
    fette Elfe, 13. Januar 2010
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Achim,

    hier eine ganz andere Möglichkeit ohne Schleife:
    Code:
    Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        Dim loVorhanden As Long
        On Error Resume Next
        loVorhanden = Application.Match(ComboBox1, ComboBox1.List, 0)
        On Error GoTo 0
        If loVorhanden <> 0 Then MsgBox "Schon vorhanden"
    End Sub
    Bis später,
    Karin
     
    Beverly, 13. Januar 2010
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Achim,

    noch als Ergänzung und Erläuterung des bei dir auftretenden Fehlers: du hast die Variable Cells nicht deklariert.

    Man sollte aber keinen VBA-internen Ausdruck als Variablenbezeichnung verwenden. Wenn du z.B. Dim raCells As Range ergänzt, dann sollte For Each raCells In Rg auch fehlerlos durchlaufen. Der Code läuft zwar auch, wenn du ergänzt Dim Cells as Range, aber es könnte möglicherweise zu (nicht vorhersehbaren) Problem führen. Am günstigsten ist es, wenn man dem Variablennamen noch einen kleingeschriebenen Präfix voransetzt, der auf den Variablentyp hinweist - so hat man selbst weniger Probleme beim Programmieren und die Verwendung verschiedener Variablen für die richtigen Inhalte ist wesentlich einfacher.

    Bis später,
    Karin
     
    Beverly, 13. Januar 2010
    #3
  4. fette Elfe Erfahrener User

    Abfrage ob Eingabe in Combobx bereits in Liste vorhanden ist

    lieben Dank Beverly für die Lösung/die Lösungen und auch die Erklärung.

    Ich bin Anfänger und hab noch ne Menge zu lernen, deshalb helfen solche Erklärungen ungemein.
    Ich war davon ausgegangen (hatte gehofft), da der Ausdruck Cells ja bereits in Excel definiert ist, wird das Programm schon wissen was ich meine und es nicht als Variable sehen....

    Die Lösung mit dem raCells klappt wunderbar, allerdings habe ich die Abfrage inzwischen aus Private Sub ComboBoxneueBemerkung_Exit entfernt und nach Private Sub CommandButtonneueStammdatenEingabe2_Click verlegt, weil es sonst Probleme gegeben hätte (aber das liegt am Aufbau meiner UF).

    Deine andere Lösung werde ich mir mal in Ruhe anschauen.


    Lieben Gruß Achim
     
    fette Elfe, 13. Januar 2010
    #4
Thema:

Abfrage ob Eingabe in Combobx bereits in Liste vorhanden ist

Die Seite wird geladen...
  1. Abfrage ob Eingabe in Combobx bereits in Liste vorhanden ist - Similar Threads - Abfrage Eingabe Combobx

  2. Abfrage mit leeren Feldern

    in Microsoft Access Hilfe
    Abfrage mit leeren Feldern: Hallo zusammen Meine Access-Kenntnisse beschränken sich leider wirklich auf ein Minimum aber trotzdem möchte ich mich hier in diesem Bereich ein wenig weiterentwickeln :-) Ich habe eine Datenbank...
  3. Import Daten aus Access Abfrage klappt nicht

    in Microsoft Excel Hilfe
    Import Daten aus Access Abfrage klappt nicht: Moin, ich habe ein Problem. Ich habe eine Datenbank in Access mit diversen Tabellen und Abfragen. Jetzt habe ich eine neue Abfrage erstellt und muß das Ergebnis täglich in eine Exceldatei...
  4. Auslesen einer Abfrage in VBA Modul

    in Microsoft Access Hilfe
    Auslesen einer Abfrage in VBA Modul: Hallo zusammen, ich wünsche allen ein frohes und gesundes Jahr 2024. Ich habe eine alte Access 2003 und da habe ich zur Ermittlung von Planungsdaten folgende Funktion genutzt, jetzt mit Office 365...
  5. Nur aktuelles Jahr in Abfrage auslesen

    in Microsoft Access Hilfe
    Nur aktuelles Jahr in Abfrage auslesen: In meiner Abfrage habe ich eine Spalte AktJahr erstellet. Das Datum ermittle ich mit AktJahr: Datum(). Es soll nur die aktuelle Jahreszahl angezeigt werden. Mehrere Versuche mit der...
  6. Abfrage mit Texteintrag in andere Tabelle

    in Microsoft Access Hilfe
    Abfrage mit Texteintrag in andere Tabelle: Hallo zusammen, habe folgendes Problem: ich möchte mit einer Abfrage folgendes lösen: Beim klicken auf eine Befehlsschaltfläche soll folgendes passieren: Die Kundennummer soll eingegeben werden...
  7. Video: Beenden einer Abfrage, die Sie zur Eingabe auffordert

    in Microsoft Access Tutorials
    Video: Beenden einer Abfrage, die Sie zur Eingabe auffordert: Video: Beenden einer Abfrage, die Sie zur Eingabe auffordert Access 2013 Mehr... Weniger...
  8. Video: Verhindern des Anforderns von Eingaben durch Abfragen

    in Microsoft Access Tutorials
    Video: Verhindern des Anforderns von Eingaben durch Abfragen: Video: Verhindern des Anforderns von Eingaben durch Abfragen Access 2013 Mehr... Weniger...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden