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, mein Name ist Ralf und ich bin neu hier im Forum. Ich habe etwas Ahnung von Excel aber jetzt komme ich nicht weiter. In der angehängten Datei habe ich eine Textbox, die den Wert einer Zelle...
  3. Is there no "share system audio" box to check on the web version when screen sharing? I have ...

    in Microsoft Teams Hilfe
    Is there no "share system audio" box to check on the web version when screen sharing? I have ...: Ich muss morgen unterrichten und unter anderem Video und Audio teilen. Ich finde aber beim Screensharing die Kästchen nicht, wo man anklicken soll, um das Audio zu teilen. Kann es sein, dass dies...
  4. meine Spiele, App Store, X box etc. gehen nicht auf

    in Microsoft Teams Hilfe
    meine Spiele, App Store, X box etc. gehen nicht auf: C.pROGRAMM fILES wINDOWS:aPP mICROSOFT:gAMING aPP-2006 .2001.180 x64 8uekyb 3d8bb...X Box App service. exe Ordner Verschoben und nicht zum finden ,,was Tun???danke...
  5. VBA Hilfe bei MSG Box

    in Microsoft Excel Hilfe
    VBA Hilfe bei MSG Box: Hallo zusammen, ich möchte per VBA eine Suche in Objekten starten was alles eigentlich auch wunderbar funktioniert. Allerdings möchte ich die Boxen die angezeigt werden etwas umstellen und...
  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...