Office: (Office 2016) Combo Box automatisch pro Zeile einfügen

Helfe beim Thema Combo Box automatisch pro Zeile einfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Tag allerseits, Ich habe mich durch das Forum gesucht, bin aber nicht wirklich auf etwas gestossen welches mir mit meinem Problem hilft.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Domio2192, 27. Oktober 2020.

  1. Domio2192 Neuer User

    Combo Box automatisch pro Zeile einfügen


    Guten Tag allerseits,

    Ich habe mich durch das Forum gesucht, bin aber nicht wirklich auf etwas gestossen welches mir mit meinem Problem hilft.

    Es geht darum, eine Übersicht des Posteingangs zu erstellen. Dies soll so automatisch wie möglich werden, vor allem wenn es darum geht die Mitarbeiter (ca. 950) zu finden.
    Nun habe ich eine Combo Box mit den ActiveX Controls erstellt und diese mit der Mitarbeiterliste verknüpft. Soweit funktioniert dies prima, nur das Problem ist, ich muss für jede Zeile die Como Box kopieren und in den Eigenschaften einrichten, wo der neue Wert (LinkedCell) übertragen wird.

    Gibt es eine Möglichkeit, dass wenn ich in der letzten Zeile (E11) in der Combo Box was eintrage, automatisch eine neue Zeile untendran generiert wird? Also nach dem Eintrag in E11 sollte es eine neue Zeile geben (E12) welche den Wert automatisch auf F12 übertragt, ohne dass ich dies für jede Combo Box manuell an den Eigenschaften ändern muss.

    Ich bedanke mich im Voraus für eure Unterstützung!
     
    Domio2192, 27. Oktober 2020
    #1
  2. Exl121150 Erfahrener User
    Hallo Dominic,

    in der beiliegende Excel-Datei habe ich in deiner Musterdatei im Codemodul des Arbeitsblattes "October 2020" eine Ereignisbehandlung für das Arbeitsblatt-Ereignis "SelectionChange" eingefügt:

    Sobald die aktive Zelle in die Spalte E dieses Blattes verschoben wird, wird überprüft, ob sie einen Inhalt hat:
    Falls ja, wird überprüft, ob die Zelle unterhalb der aktiven Zelle leer ist:
    • Trifft dies zu, wird dort eine ActiveX-ComboBox in der Größe dieser Zelle eingefügt;
      ferner wird dort der Listenauswahlbereich festgelegt (benutzter Bereich der Spalte B im Arbeitsblatt "Mitarbeiterliste");
      weiters wird dort die verknüpfte Zelle festgelegt, die das Ergebnis der Listenauswahl aufnehmen soll (Zelle neben der ComboBox);
      und zum Schluss wird in der Zelle selbst (verdeckt durch die ComboBox) der Name der ComboBox gespeichert (damit man weiß, welche Combo sich dort eingenistet hat und damit keine zweite Combo dort gespeichert werden kann).
      .
    • Trifft dies nicht zu (Zelle ist wegen Punkt a) bereits besetzt), wird überprüft, ob die Größe der aktiven Zelle noch zur dortigen Combobox passt: Falls nein, wird diese ComboBox entsprechend angepasst.
    Alle anderen Zellen (außer diesen beiden in der Spalte E) sind vom Makro nicht betroffen.

    Nachfolgend nochmals das Makro:
    Code:
    Option Explicit
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Dim Zl As Long, Sp As Long, rgZelle As Range, cbBox As OLEObject
      Const Blatt$ = "Mitarbeiterliste"
      With Me
        Zl = Target.Row: Sp = Target.Column
        If Sp = 5 Then  'Spalte E
           If Len(Target.Value) > 0 Then
              Set rgZelle = Target.Offset(1, 0)
              If IsEmpty(rgZelle.Value) Then
                'Zelle enthält noch keine ComboBox: Erzeuge eine Combobox in der Zellgröße
                Set cbBox = .OLEObjects.Add("Forms.ComboBox.1", Left:=rgZelle.Left, Top:=rgZelle.Top, Height:=rgZelle.Height, Width:=rgZelle.Width)
                With cbBox
                  'Lege den Listenbereich fest, der als Auswahl angezeigt wird:
                  .ListFillRange = Blatt$ & "!" & Worksheets(Blatt$).Range("A3").CurrentRegion.Columns("B").Address
                  'Lege die verknüpfte Zelle fest, in der die Listenauswahl abgegelegt wird:
                  .LinkedCell = rgZelle.Offset(0, 1).Address
                  'Speichere Namen der Combobox in der Zelle (von Spalte E),
                  '   um sie als besetzt zu kennzeichnen (damit keine 2.ComboBox erzeugt wird) und
                  '   um auf die ComboBox zugreifen zu können (zB. folgender ELSE-Zweig!).
                  rgZelle.Value = .Name  'zB. "ComboBox2"
                End With
              Else
                'Zelle besitzt schon eine ComboBox: Überprüfe,
                'ob sich nachträglich die Zellgröße geändert hat: Passe Größe der ComboBox an die Zellgröße an.
                Set cbBox = .OLEObjects(Target.Value)
                With cbBox: .Left = Target.Left: .Top = Target.Top: .Height = Target.Height: .Width = Target.Width: End With
              End If
           End If
        End If
      End With
    End Sub
    
     
    Zuletzt bearbeitet: 28. Oktober 2020
    Exl121150, 28. Oktober 2020
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi,

    dazu benötigst du nur 1 Kombinationsfeld und nicht für jede Zelle ein eigenes.

    Bis später,
    Karin
     
    Beverly, 28. Oktober 2020
    #3
Thema:

Combo Box automatisch pro Zeile einfügen

Die Seite wird geladen...
  1. Combo Box automatisch pro Zeile einfügen - Similar Threads - Combo Box automatisch

  2. Text Box

    in Microsoft Excel Hilfe
    Text Box: Hallo Leute Habe in der Tabelle die Zahl 0.70 in der User Form Textbox wird aber nur 0.7 angegeben möchte aber das die Zahl 0.70 erscheint. Meine Formel: Private Sub TextBox5_Change() Cells(1,...
  3. Suche in Datei-Auswahl-Box in Excel ohne Wildcards

    in Microsoft Excel Hilfe
    Suche in Datei-Auswahl-Box in Excel ohne Wildcards: Liebe Forum-Mitglieder, ich habe folgendes" Problem": Wenn ich in meiner alten Konfiguration (Excel 2007, Windows XP) mit Excel die Datei-Auswahl-Box geöffnet und eine Zeichenfolge in dem...
  4. Werte aus Tabellenfeldern in Richtext-Boxen integrieren bzw. zusammen zu führen. (Platzhalter)

    in Microsoft Access Hilfe
    Werte aus Tabellenfeldern in Richtext-Boxen integrieren bzw. zusammen zu führen. (Platzhalter): Hallo Zusammen, es geht mir darum, dass ich gerne aus Acces heraus über Outlook E-Mails versenden möchte. Dazu habe ich ein Sende-Formular erstellt. Dieses zieht sich bereits automatisiert die...
  5. Message Box wenn Zelle leer geblieben ist .

    in Microsoft Excel Hilfe
    Message Box wenn Zelle leer geblieben ist .: Hallo Zusammen, in der angehangenen Datei habe ich eine fortlaufende Liste in der Daten eingegeben werden. In Spalte A wird ein Datum mit Doppelklick eingefügt. In Spalte D ist eine...
  6. Combo Box

    in Microsoft Excel Hilfe
    Combo Box: Hallo ich brauche Hilfe und komme einfach nicht weiter [ATTACH] in der ComboBox werden Kunden ausgewählt die in einer anderen Datei stehen, (was auch funktioniert) nun soll dieser Wert immer...
  7. Combo Box soll vorbefüllt werden

    in Microsoft Excel Hilfe
    Combo Box soll vorbefüllt werden: Hallo zusammen, Da ich in Visual Basic kaum erfahrung habe benötige ich dringst Hilfe. Beschreibung meiner Excelmappe Ich habe mehrer Reiter im ersten Reiter kann ich alle gewünschten...
  8. combo box

    in Microsoft Excel Hilfe
    combo box: Hallo, ich bin eine Excel Anfänger und würde gerne eine combo-box auswahl für eine zelle erstellen. Folgende funktion sollte der haben: Auswahl tabelle A ...... - ........ Auswahltabelle B...
  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