2016-05-03 19 views
0

Ich frage mich, ob es möglich ist, eine Combobox auf einem Benutzerformular zu füllen, wenn mit Arbeitsblattnamen aus einer geschlossenen Arbeitsmappe initialisiert. Ich habe das ausführlich untersucht und eine Lösung gefunden, die einen Verweis auf ActiveX Data Objects 2.5 oder höher erfordert. Aber gibt es einen anderen, einfacheren Weg? Vielen Dank!Füllen Combobox auf Benutzerformular

+1

Vielleicht ist dieser Beitrag, was Sie suchen: http://StackOverflow.com/Questions/36992630/vba-change-from-a-cell/36992772#36992772 Schauen Sie speziell auf die Funktion 'GetData' (am Ende des Codeblocks). Verwendet die ExecuteExcel4Macro-Methode. – Ralph

+0

Ich benutzte das vorher zum Abrufen von Tabellenheadern und dachte nicht daran, es für Blattnamen zu verwenden. Das mag den Trick machen. Danke, @Ralph! – Brian

Antwort

0

Ja, es ist möglich.

Dim wb as workbook 
Dim ws as worksheet 

set wb = application.workbooks.open(<your workbook>, true, true) 
set ws = wb.worksheets(<your worksheet>) 

Nach dem ws Einstellung mit Ihnen Arbeitsblatt können Sie die Daten zugreifen, die Sie benötigen.

P.S. Entschuldigung mein Englisch

+0

Das OP möchte an einem ** geschlossenen ** Arbeitsbuch arbeiten. Sie schlagen jedoch vor, das Arbeitsbuch zu öffnen. Wie beantwortet das die Frage? – Ralph

+0

Hi @Ralplh, ich verstehe, dass im Moment der Combobox die Arbeitsmappe geschlossen wird, und dann muss er die Daten erhalten. Wahrscheinlich habe ich die Frage falsch verstanden. – Kellsens

+0

Soweit ich die Frage verstanden habe: Die Werte für das Kombinationsfeld sind in einer geschlossenen Excel-Datei. Das OP möchte das Kombinationsfeld auffüllen, ohne die Excel-Datei (in Excel) zu öffnen. Aber da die Werte (um das Kombinationsfeld zu füllen) in dieser Excel-Datei sind, sucht er/sie nach anderen Mitteln, um diese Excel-Datei zu lesen (außer das Öffnen der Excel-Datei). Eine Möglichkeit, dies zu erreichen (Lesen von Daten aus einer Excel-Datei, ohne sie in Excel zu öffnen), ist die Verwendung von 'ActiveX Data Objects 2.5 oder höher '. Aber vielleicht habe ich die Frage einfach nicht richtig verstanden. – Ralph

Verwandte Themen