1.5k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich habe mir folgende UserForm zusammen gebastelt:


http://fs1.directupload.net/images/150731/temp/2ucuxv88.png


Hier soll nun durch den Button (BC-Auswahl) eine Excel Datei ausgelesen werden und
die einzelnen Tabellen in der ComboBox eingefügt werden.

Durch das anschließende Auswählen der Tabelle sollen ein paar Werte der ausgewählten
Tabelle in die obigen Felder eingefügt werden.

Der Grund dafür ist dass sich der Name aller Tabellen und Arbeitsmappen stets ändert,
die wichtigen Zellen allerdings immer gleich sind.

Mein bisheriger Code des Buttons:

Private Sub CommandButton1_Click()

Dim vntZuOeffnendeDatei As Variant

pop-up Fenster zum auswählen der Quelldatei.
vntZuOeffnendeDatei = Application.GetOpenFilename("Excel Dateien (*.xls*), *.xls*")

If vntZuOeffnendeDatei = False Then Exit Sub

Application.ScreenUpdating = False


So nun weiß ich allerdings leider nicht wie ich die Tabellen der Ausgewählten Datei in die
ComboBox einfügen kann. Kann mir da jemand helfen?

Cool wäre auch wenn die erste Tabelle der Arbeitsmappe auch immer an oberster Stelle
der ComboBox stehen würde.


Danke

7 Antworten

0 Punkte
Beantwortet von
Das hilft mir nun die Tabellen in die Combobox zu bekommen. Kann mir
noch jemand sagen wie ich einzelne Zellen einer ausgewählten Tabelle
der ComboBox in meine Textfelder bekomme? das wäre noch super :)
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Timo,

nutze .Additem um die Combobox zu füllen.
Dein Makro könnte z.B. so aussehen:

Sub combobox_fuellen()

Dim i As Long

'Combobox füllen
For i = 1 To ThisWorkbook.Worksheets.Count
UserForm1.ComboBox1.AddItem ThisWorkbook.Worksheets(i).Name
Next i

'1. Listeneintrag anzeigen
UserForm1.ComboBox1.ListIndex = 0

'Userform anzeigen
UserForm1.Show

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Danke das wars!

Noch ne dumme Frage, wie schreibe ich es jetzt noch so dass er bei ausgewählter Tabelle bestimmte Zelleninhalte in die Textboxen einfügt?

Z.B. H47, H51, H55, H33, H56, H61
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Timo,

das kannst du so machen:

Sub combobox_fuellen2()

With UserForm1.ComboBox1
.AddItem ThisWorkbook.ActiveSheet.Range("H47")
.AddItem ThisWorkbook.ActiveSheet.Range("H51")
.AddItem ThisWorkbook.ActiveSheet.Range("H33")
.AddItem ThisWorkbook.ActiveSheet.Range("H56")
.AddItem ThisWorkbook.ActiveSheet.Range("H61")
.ListIndex = 0
End With

UserForm1.Show

End Sub

Gruß

M.O.
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

noch ein Nachtrag: natürlich musst du ActiveSheet durch Worksheets(xy) ersetzen, wobei xy die Variable mit dem Namen des Arbeitsblattes ist.

Gruß

M.O.
0 Punkte
Beantwortet von
Dank!!!! :)

Kann mir noch jemand sagen wie ich ihm den Befehl gebe dass er die Werte der TextBoxen nach Button Click in meine Zeile einfügt?

Habe an sowas gedacht, aber das funktioniert wohl scheinbar nicht...

With ThisWorkbook.Worksheets("ZIELTABELLE")
If CommandButton5 = Click Then
TextBox25.Value = ThisWorkbook.Worksheets("ZIELTABELLE").Cells(suchzelle.Row, 26).Value
End If
End With
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

du musst ein entsprechendes Makro in deinem Commandbutton hinterlegen, also so:

Private Sub CommandButton5_Click()

ThisWorkbook.Worksheets("ZIELTABELLE").Cells(suchzelle.Row, 26) = TextBox25.Value

'Userform schließen
Unload UserForm1

End Sub


Gruß

M.O.
...