Office: Excel 2003 Kombinationsfeld

Helfe beim Thema Excel 2003 Kombinationsfeld in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, sollte mit folgendem Code gehen: Private Sub ComboBox1_GotFocus() ComboBox1.ListFillRange = "" ComboBox1.ListFillRange = "Bereich"... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von SpringJetzt, 13. Oktober 2009.

  1. Beverly
    Beverly Erfahrener User

    Excel 2003 Kombinationsfeld


    Hi,

    sollte mit folgendem Code gehen:
    Code:
    Private Sub ComboBox1_GotFocus()
        ComboBox1.ListFillRange = ""
        ComboBox1.ListFillRange = "Bereich"
    End Sub
    
    Private Sub ComboBox1_LostFocus()
        ComboBox1.ListFillRange = ""
        ComboBox1.ListFillRange = "Bereich"
    End Sub
    Bis später,
    Karin
     
    Beverly, 4. August 2010
    #16
  2. miriki Erfahrener User
    Ohne es jetzt ausprobiert zu haben, aber...

    Du hast die Dynamik direkt in den Eigenschaften der Combobox festgelegt, ja?

    Versuch mal, einen Namen zu definieren, der diese Dynamik benutzt und benutz für die Combobox Listfillrange dann den definierten Namen. Vielleicht hilft das...

    Gruß, Michael
     
  3. Beverly
    Beverly Erfahrener User
    Hi Michael,

    in die Eigenschaften der ComboBox lassen sich schon von Haus aus keine Formeln eintragen - folglich ist bereits ein Name definiert und als ListFillRange eingetragen. Die ComboBox aktualisiert jedoch nicht automatisch sondern muss dazu erst "aufgefordert" werden.

    Bis später,
    Karin
     
    Beverly, 4. August 2010
    #18
  4. Pumàh Erfahrener User

    Excel 2003 Kombinationsfeld

    Hallo Karin und Co!
    Wow, klasse, super, vielen Dank! Du glaubst garnicht wie weit ich das Internet schon durchsucht habe... klappt wunderbar!

    Eine Frage hätte ich noch: Kann ich es die Möglichkeit, Text in die ComboBox einzugeben ausstellen? Bzw. habe ich sowieso vor, das Blatt zu schützen, wäre das dann damit hinfällig?

    Danke schon im Voraus :)

    Edit: noch ein kleines (Luxus)Problem hätte ich: Die Active X Steuerbox verändert immer geringfügig ihr Aussehen, wenn man den Pfeil klickt und Einträge auswählt. Auch ist der Pfeil etwas verpixelt. Falls jemand hier eine Verbesserungsmöglichkeit zufällig kennt, freue ich mich auf diese.
     
  5. Beverly
    Beverly Erfahrener User
    Hi,

    zu Frage 1: stelle die Eigenschaft MatchRequired auf True

    zu Frage 2: verwende ein Kombinationsfeld aus der Formular-Symbolleiste, da tritt dieser Effekt nicht auf. Irgendwelche Einstellungsmöglichkeiten oder ähnliches gibt es für die ActiveX-Steuerelemente leider nicht. Wenn du diese verwendest, musst du mit deren Unzulänglichkeiten in dieser Hinsicht leben. Der Blattschutz hat darauf meines Wissens ebenfalls keinen Einfluss (kannst du ja auch selbst testen ;-) )

    Bis später,
    Karin
     
    Beverly, 4. August 2010
    #20
  6. Pumàh Erfahrener User
    Danke Karin!

    Ja, wäre jetzt kein Weltuntergang. Die der Formular-Symbolleiste sehen aber wirklich etwas geradliniger aus. Leider erhalte ich bei VBA die Fehlermeldung "Objekt erforderlich" wenn ich das Dropdown (de)aktivieren möchte, z.B.

    Code:
    Private Sub CommandButton1_Click()
    
    Dropdown7.Enabled = False
    
    End Sub
    Code:
    Private Sub CommandButton2_Click()
    
    Dropdown7.Enabled = True
    
    End Sub
    
    Eine Idee, was ich falsch mache?
     
  7. Beverly
    Beverly Erfahrener User
    Hi,

    ein Kombinationsfeld aus der Formular-Symbolleiste ist ein Shape, deshalb muss man es auch so ansprechen:

    Code:
    ActiveSheet.Shapes("Dropdown 7").ControlFormat.Enabled = False
    Bis später,
    Karin
     
    Beverly, 4. August 2010
    #22
  8. Pumàh Erfahrener User

    Excel 2003 Kombinationsfeld

    Danke!

    Es tut mir leid, aber ich komme am Ende nun doch nicht ganz weiter. Da ich möchte, dass das Listenfeld automatisch aktualisiert, habe ich einen Teil deines Code von oben ganz unten eingefügt - aber da sagt dann VBA "ComboBox1 - Variable nicht definiert". Diese Fehlermeldung erhielt ich beim Durchspielen des obigen Codes nicht, das funktionierte einwandfrei.

    Code:
    Sub Hinzufügen()
    
    
    'Variablen deklarieren
    
    
    Dim iZeileMax As Integer
    
    
    'Suche nach erster freier Zeile in Rohdaten
    iZeileMax = Worksheets("Rohdaten").UsedRange.Rows.Count + 1
                    
    
    'Füge in iZeileMax den neuen Wert ein
    
    Worksheets("Rohdaten").Cells(iZeileMax, 11).Value = Worksheets("Listen").Cells(10, 20).Value
                    
    
    'Entferne Eintrag aus Eingabefeld
    
    Worksheets("Listen").Cells(10, 20).Value = ""
           
    
    'Listenfeld aktualisieren (aktualisiert sich nicht von selbst bei dynamischen Bereichen)
    
           
    ComboBox1.ListFillRange = "" 
    ComboBox1.ListFillRange = "Mitarbeiterlistebereich"
                                    
    End Sub
     
  9. Beverly
    Beverly Erfahrener User
    Hi,

    in deinem ersten Beitrag war die Rede von einer ComboBox, jetzt von einem Listenfeld - wenn du ein Listenfeld verwendest, wird dieses sicher nicht ComboBox1 heißen. ;-)

    Bis später,
    Karin
     
    Beverly, 5. August 2010
    #24
  10. Pumàh Erfahrener User
    Hi,

    ich habe nun ein Listenfeld benutzt, aber auch da funktioniert dein Code oben! Ich habe nur in meinem Code meine eigenen Bezeichnungen rausgenommen. Sorry, ich gebe zu, das war jetzt etwas verwirrend.

    Also ich habe folgenden Code im Codeblatt meiner Tabelle eingetragen:

    Code:
    Private Sub oF02_MAListe_GotFocus()
        oF02_MAListe.ListFillRange = ""
        oF02_MAListe.ListFillRange = "rL02.Mitarbeiter"
    End Sub
     
    Private Sub oF02_MAListe_LostFocus()
        oF02_MAListe.ListFillRange = ""
        oF02_MAListe.ListFillRange = "rL02.Mitarbeiter"
    End Sub
    Klappt soweit gut, nur habe ich noch ein Textfeld + Bestätigungsbutton mit welchem ich Text zur Liste hinzufüge. Danach wird die Liste nicht aktualisiert, ich muss wieder erst auf deren Fläche klicken. Daher wollte ich folgenden Teil des Codes:

    Code:
        oF02_MAListe.ListFillRange = ""
        oF02_MAListe.ListFillRange = "rL02.Mitarbeiter"
    zusätzlich in den Code in einem Modul des Bestätigungsbuttons des Textfeldes einfügen, sodass die Liste beim Aufgeben eines Textes aktualisiert wird.

    Sieht dann so aus:

    Code:
    Sub MAhinzufügen()
    
    '------------------------------------------------------------------------------------------------
    'Ziel: Hinzufügen eines Mitarbeiters aus der Liste der Auftraggeber für das Buchungsformular
    '------------------------------------------------------------------------------------------------
    
    '------------------------------------------------------------------------------------------------
    'Variablen deklarieren
    '------------------------------------------------------------------------------------------------
    
    Dim iZeileMax As Integer
    
    '------------------------------------------------------------------------------------------------
    'Suche nach erster freier Zeile in Rohdaten
    '------------------------------------------------------------------------------------------------
    iZeileMax = Worksheets("Rohdaten02").UsedRange.Rows.Count + 1
                    
    '------------------------------------------------------------------------------------------------
    'Füge in iZeileMax den neuen Mitarbeiter ein
    '------------------------------------------------------------------------------------------------
    Worksheets("Rohdaten02").Cells(iZeileMax, 11).Value = Worksheets("Listen02").Cells(10, 20).Value
                    
    '------------------------------------------------------------------------------------------------
    'Entferne Eintrag aus Eingabefeld
    '------------------------------------------------------------------------------------------------
    Worksheets("Listen02").Cells(10, 20).Value = ""
           
    '------------------------------------------------------------------------------------------------
    'Liste aktualisieren (aktualisiert sich nicht von selbst bei dynamischen Bereichen)
    '------------------------------------------------------------------------------------------------
           
    oF02_MAListe.ListFillRange = ""
    oF02_MAListe.ListFillRange = "rL02.Mitarbeiter"
    Und da sagt VBA während es "oF02_MAListe" markiert: Variable nicht definiert :-( Aber ich habe das doch einfach kopiert, im Code der Tabelle lief es doch einwandfrei.

    Ich komme an der Stelle leider nicht weiter.
     
  11. Beverly
    Beverly Erfahrener User
    Hi,

    ich denke es würde Sinn machen, wenn du deine Mappe mal hochladen würdest - sonst können wir noch bis Ultimo um den heißen Brei herumreden ;-)

    Bis später,
    Karin
     
    Beverly, 5. August 2010
    #26
  12. Pumàh Erfahrener User
    Hallo,
    leider kann ich auch nach MatchRequired auf True stellen noch Daten in die Combobox eingeben. Ist ja generell nicht schlecht, wenn man einen Eintrag z.B. mit S sucht und S eingibt, springt die Liste ja dorthin. Nur wenn man einfach irgendeinen Text eingibt und Enter drückt, bleibt dieser stehen, obwohl er garnicht in der Liste ist - kann ich das ausstellen?

    Brauchst du die Arbeitsmappe dazu?

    Danke!

    PS: das andere konnte ich nun bereits lösen! Danke für die Mühe, hab Teile davon verwendet!
     
  13. Beverly
    Beverly Erfahrener User

    Excel 2003 Kombinationsfeld

    Das wäre schon nicht schlecht.

    bis später,
    Karin
     
    Beverly, 10. August 2010
    #28
  14. Pumàh Erfahrener User
    Hallo Karin!

    Anbei die Mappe. Ich kann in die Box Text eingeben obwohl MatchEntry auf True steht.

    Gruß und Danke!
     
  15. Beverly
    Beverly Erfahrener User
    Hi,

    schreibe folgenden Code ins Codemodul des Tabellenblattes:
    Code:
    Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        Dim lngVorhanden As Long
        On Error Resume Next
        lngVorhanden = Application.Match(ComboBox1, Range("Länder"), 0)
        On Error GoTo 0
        If lngVorhanden = 0 Then ComboBox1 = ""
    End Sub
    Bis später,
    Karin
     
    Beverly, 10. August 2010
    #30
Thema:

Excel 2003 Kombinationsfeld

Die Seite wird geladen...
  1. Excel 2003 Kombinationsfeld - Similar Threads - Excel 2003 Kombinationsfeld

  2. Funktion aus Excel 2003 in 2019 gesucht

    in Microsoft Excel Hilfe
    Funktion aus Excel 2003 in 2019 gesucht: Hallo Ihr Lieben, ich suche eine spezielle Funktion in Excel 2019, welche ich aus Excel 2003 kenne. Leider kann ich diese in Ek19 nicht finden, weiss auch nicht wie sie korrekter Weise heisst ......
  3. xls 97-2003 in Excel 2016 öffnen

    in Microsoft Excel Hilfe
    xls 97-2003 in Excel 2016 öffnen: Hallo! Ich habe hier eine Exceldatei xls, die im Excelformat 97-2003 gespeichert wurde. Diese möchte ich nun in Excel 2016 öffnen. Wähle ich diese Datei aus, mit geöffnetem Excel 2016, passiert...
  4. Excel 2003 öffnet externe Hyperlinks nicht mehr

    in Microsoft Excel Hilfe
    Excel 2003 öffnet externe Hyperlinks nicht mehr: Halo, ich habe ein Problem in Excel 2003, vielleicht kann mir jemand weiterhelfen: das Problem ist, daß Excel 2003 externe Hyperlinks (also Hyperlinks, die auf eine Internet-Seite verweisen)...
  5. Makro in Excel 2003 funktioniert nicht mehr

    in Microsoft Excel Hilfe
    Makro in Excel 2003 funktioniert nicht mehr: Hallo zusammen, ich hatte vor vielen Jahren in Excel 2003 einen Kalender mit Makros erstellt. Nachdem ich auf Excel 2016 gegangen bin, mußte ich feststellen, dass es Fehlermelunden plötzlich gibt,...
  6. UserForm Textbox als Hyperlink Excel 2003

    in Microsoft Excel Hilfe
    UserForm Textbox als Hyperlink Excel 2003: Gruess Gott miteinander, in einer Textbox der userform befindet sich ein Hyperlink in Textform. Der Text wird über Sub Zellaktualisierung() Me.TextBoxSpalteHyperlink.Text =...
  7. Excel 2003: csv-Import von Volksbank

    in Microsoft Excel Hilfe
    Excel 2003: csv-Import von Volksbank: Hallo zusammen, beim online-banking der Volksbanken kann man sich die Umsätze als csv-Datei herunterladen. Ich importiere diese csv-Dateien in Excel per drag and drop. Das Feld...
  8. Excel 2003_Automatisch neue Zeile erzeugen

    in Microsoft Excel Hilfe
    Excel 2003_Automatisch neue Zeile erzeugen: Hallo Excel Profis, ich kann zwar mit einfachen Formeln umgehen (kein Makro, kein VBA, etc.), aber das wars auch schon mit meiner Excel kenntniss. Darum erbitte ich hier wieder mal um Hilfe....
  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