Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

dropdown menue mit Einträgen aus anderer Datei





Frage

Hallo Supporters, bräuchte mal wieder einen Rat von Euch. Ziel diesmal: Ich möchte auf einer userform ein dropdown feld platzieren welches mir zum Beispiel die Spalte A aus einer anderen, geschlossenen Datei anzeigt. 1. Frage: Ist sowas per dropdown überhaupt möglich? Bisher habe ich nur so etwas hinbekommen: Private Sub UserForm_Initialize() Application.ScreenUpdating = False Workbooks.Open Filename:="C:\......" with usrNeuesFormular.cboNamensliste .RowSource = ("A3:A10") .ListIndex = "0" End With Application.ScreenUpdating = True End Sub Leider ist die Quelldatei dabei geöffnet, ist ja klar... Das wollte ich aber eigentich nicht. Bau ich anschließen ein er soll die Datei zumachen sind auch die Daten im Dropdown futsch.....auch irgendwie klar... Hintergrund: Die Quelldatei wird ständig aktualisiert. Somit kann ich "additem" für meinen code nicht benutzen...Gibt es evtenuell eine andere Möglichkeit für mich??? Bin wie immer über jeden Vorschlag dankbar!!! Grüße und einen schönen Tag Mola

Antwort 1 von coros

Hi Mola,

damit Du Daten in z.B. ein Kombinationsfeld einlesen kann, muss die Datei vorher geöffnet werden, sonst geht das nicht. Das ist leider immer so bei Excel. Einzige Ausnahme ist wenn Du Dir durch eine Verknüpfung Daten in einer Zelle anzeigen lässt. Aber bei dem was Du vor hast, muss die Datei geöffnet sein.

Der VBA Code dafür würde folgendermaßen lauten:

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Beispiel.xls"
For i = 1 To Workbooks("Beispiel.xls").Sheets(1).Range("A65536").End(xlUp).Row
ComboBox1.AddItem (Cells(i, 1))
Next
Workbooks("Beispiel.xls").Close
End Sub


Bei dem Code werden die Daten aus Spalte A von Zeile 1 bis zur letzten beschriebenen Zelle in dem Kombinationsfeld aufgeführt.

Ich hoffe, Dir hilft’s etwas.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Mola

Abend Coros,

na das ist doch genau das was ich wollte ***BINGO***!!!!

Ich mein, dass was ich gebastelt hatte verstehe ich. Also warum er mir die cbo leer gemacht hat wenn ich dem obigen code "Workbooks("Beispiel.xls").Close" hinzugefügt habe.

Jetzt muss ich mir aber noch genauer das for i ansehen....ich mein ich verstehe es schon ungefähr das er die Spalte A von unten hochgeht usw. aber das in so eine Schreibweise zu packen ***uff***....naja, hol ich doch glatt nochmal den großen "Excel-VBA" raus und lese das nochmal nach! Vorher lasse ich das Makro aber noch 3 mal durchlaufen weil es so super klappt!!!

Dankeschön Coros und einen schönen Abend!!!

Gruß
Mola

Antwort 3 von coros

Moin Mola,

freut mich, dasss ich mit dem VBA Code richtig gelegen habe.
Noch etwas zur Aufklärung: Die Schleife aus dem VBA Code arbeitet nicht von unten nach oben, sondern von Zeile 1 bis zur letzten beschriebenen Zelle in Spalte A, also von oben nach unten. Wenn Sie von unten nach oben laufen würde, dann sähe die Befehlszeile folgendermaßen aus:

For i = Workbooks("Beispiel.xls").Sheets(1).Range("A65536").End(xlUp).Row To 1 Step -1


Danke Dir auch für die Rückmeldung.

MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

Antwort 4 von nighty

hi all :)

auslesen einer zelle aus einer geschlossenen datei

gruss nighty

Sub makro01()
Cells(1, 1) = ExecuteExcel4Macro("´C:\test\" & "[Mappe1.xls" & "]Tabelle1" & "´!" & Range("A1").Range("A1").Address(, , xlR1C1))
End Sub

Antwort 5 von Mola

Hallo Coros und Hallo Nighty,


habt vielen Dank für Eure Beiträge - muss noch viel lernen ;)

Grüßle
Mola

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: