Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Excel VBA Combobox Inhalt aus anderer Tabelle

Betrifft: Excel VBA Combobox Inhalt aus anderer Tabelle von: MaddyHa
Geschrieben am: 26.08.2014 11:36:00

Guten Tag,

ich habe da ein Problem und hoffe hier einige Experten zu finden, die mir helfen können :)

So, ich versuche nun mal es so genau wie möglich zu erklären:

Ich habe eine Userform mit einer ComboBox, welche ich mit Inhalt füllen möchte.
Diese Userform wird durch einen Button in der Tabelle 1 aufgerufen.

Die Inhalte für diese Combobox möchte ich aus Tabelle 3 nehmen. Diese Tabelle ist eine von einem Sharepoint heruntergelade Tabelle.

Wie genau kann ich auf diese Tabelle in meiner Combobox zugreifen?

Es gibt in dieser Sharepoint-Liste eine Spalte B, die die verschiedensten Gruppennamen hat. Diese möchte ich mittels VBA zu einer Überschrift (für jede Gruppe) zusammenfassen und in der Combobox zur Auswahl stellen.

Leider hab ich selbst gerade noch nicht so die Vorstellung, wie ich diese Problemstellung bewältigen könnte.

Hat hier jemand vielleicht eine Idee?
Vielen Dank im Voraus!

  

Betrifft: AW: Excel VBA Combobox Inhalt aus anderer Tabelle von: JoWE
Geschrieben am: 26.08.2014 12:16:38

Hallo

in den Eigenschaften der Combobox.
z.B. in RowSource tbImport!A2:A12

Gruß
Jochen


  

Betrifft: AW: Excel VBA Combobox Inhalt aus anderer Tabelle von: MaddyHa
Geschrieben am: 26.08.2014 14:11:05

Vielen Dank, das war sehr hilfreich, Jochen!

Eine Frage hätte ich da allerding noch:

Zur Veranschaulichung:



- Gruppe soll gewählt werden, dann in Combobox2 die für diese Gruppe vorhandenen Untergruppen (Eigenschaft) anzeigen und nicht wie momentan die komplette Spalte in der die Untergruppe steht.

Wie könnte ich das machen?


  

Betrifft: AW: Excel VBA Combobox Inhalt aus anderer Tabelle von: JoWE
Geschrieben am: 26.08.2014 15:50:15

Hallo nochmal,
angenommen Deine Beispieltabelle wäre die Tabelle2 mit den Werten in A1:C8 und darin die Überschriften in Zeile 1. Wenn die Combobox1 diese Werte als Datenquelle (RowSource) kennt,
dann vllt. so:

Private Sub ComboBox1_Change()
    For Each ze In Sheets("Tabelle2").Range("B2:B8")
        If ze = Me.ComboBox1.Text Then
            Me.ComboBox2.AddItem Sheets("Tabelle2").Cells(ze.Row, 3)
        End If
    Next
End Sub

Gruß
Jochen


  

Betrifft: AW: Excel VBA Combobox Inhalt aus anderer Tabelle von: MaddyHa
Geschrieben am: 28.08.2014 09:28:31

Super, vielen Dank das hat gut funktioniert!
Problem dabei ist nur wenn ich in ComboBox1 z.B. Gruppe 00 gewählt habe und dann in ComboBox2 abc... mir es dann doch anders überlege und Gruppe 01 in ComboBox1 auswähle, dann bleiben die Werte aus der vorigen Suche in der ComboBox2 enthalten (aber: auch die neuen für Gruppe 01 sind mit drin).

Habe schon fleißig gesucht, aber weiß nicht so genau, wie ich dies aktualisieren könnte.


  

Betrifft: AW: Excel VBA Combobox Inhalt aus anderer Tabelle von: MaddyHa
Geschrieben am: 28.08.2014 09:42:43

Noch ein Zusatz: Wie kriege ich es hin, dass in der ComboBox2, dann nur einmal jeder Begriff steht?


  

Betrifft: AW: Excel VBA Combobox Inhalt aus anderer Tabelle von: JoWE
Geschrieben am: 29.08.2014 08:23:02

Hallo,
ungetestet:

Private Sub ComboBox1_Change()
     Dim sh As Worksheet
     Dim ze As Range
     Set sh = ThisWorkbook.sheest("Tabelle2")
     With sh
        For Each ze In .Range("B2:B8")
            If ze = Me.ComboBox1.Text Then
                If .Cells(ze.Row1, 3) <> .Cells(ze.Row - 1, 3) Then
                   Me.ComboBox2.AddItem .Cells(ze.Row, 3)
                End If
            End If
        Next
     End With
 End Sub

Gruß
Jochen


 

Beiträge aus den Excel-Beispielen zum Thema "Excel VBA Combobox Inhalt aus anderer Tabelle"