Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
544to548
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Listenfeld automatisch füllen

Listenfeld automatisch füllen
13.01.2005 14:47:09
00011011
Gegeben:
Datenbank, Test: Excel-Workbook
Archivar, Filter, Alpha, Beta, Gamma, Delta,... usw. : Worksheets in "Datenbank"
Startseite: Worksheet in "Test"
VA1, VA2, VA3: Listenfelder in "Test"
Ich habe folgendes Problem:
Beim Start der Exceldatei "Test.xls" möchte ich, daß die Listenfelder VA1 bis VA3 auf Startseite mit Inhalten gefüllt werden. Diese Inhalte sollen jeweils den Inhalt der Zellen A1 aller Worksheets der Datei "Datenbank" anzeigen.
Ich habe mir überlegt, daß dies irgendwie mit einer For-Schleife möglich sein müsste, jedoch ist mir nicht klar, wie ich diese Inhalte in die Listenfelder bekomme.
Ziel der ganzen Sache ist, das man über die Listenfelder Produkte wählen kann, dessen Verkaufszahlen ausgelesen werden und mit einem Diagramm verglichen werden. Somit ergibt sich auch das nächste Problem:
Wie kann man es bewerkstelligen, daß die Daten des gewählten Produkts in eine weitere Tabelle kopiert werden und automatisch eine Verknüpfung zu einem Diagramm hergestellt wird.
Für jegliche Hilfe bin ich mehr als dankbar.
Gruß aus Köln
Christian

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listenfeld automatisch füllen
Heiko
Moin Christian,
hier als Ansatz von mir.
Pack mal diesen Code in VBA (VBA Editor öffnen mit ALT + F11) in die Tabelle Test in
"DieseArbeitsmappe".

Private Sub Workbook_Open()
Dim Blatt As Worksheet
Dim i As Single
ReDim MyArray(0 To (Workbooks("Datenbank.xls").Sheets.Count - 1))
i = 0
' Array füllen.
For Each Blatt In Workbooks("Datenbank.xls").Sheets
' Die MsgBox kann raus wenn dein Makro läuft. z.B. mit ' auskommentieren.
MsgBox Blatt.Range("A1").Value
MyArray(i) = Blatt.Range("A1").Value
i = i + 1
Next
' Array an Listbox übergeben.
' Hier Wichtig das die Listbox im 1. Tabellenblatt ist.
' Ist dies nicht der Fall Worksheets(1) in Worksheets("TabelleX") ändern.
Worksheets(1).VA1.List() = MyArray
End Sub

Dabei muss die Datenbank Tabelle schon auf sein wenn du die Test Datei öffnest.
Das könnte man mit VBA aber auch noch automatisieren.
Für die weiteren VA´s muss du dir das Script anpassen.
Gruß Heiko
PS: Das Forum lebt auch von den Rückmeldungen der Frager!
Anzeige
Vielen Dank.
14.01.2005 16:21:17
00011011
Habe das eben mal ausprobiert. Danke vielmals.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige