userForm daten einlesen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: userForm daten einlesen von: Heinz
Geschrieben am: 09.02.2005 04:14:12

Hallo ,

ich habe eine UserForm.
In dieser habe ich Multiseiten eingefügt (3 Pages).
Nun möchte ich auf jeder der 3 Pages Daten einlesen.
Page1 aus Tabelle Kompolett.
Page2 aus Tabelle Resliste.
Page3 aus Tabelle Komplett (aber andere Spalte).
Das realisiere ich über den folgenden Code:


Private Sub UserForm_Initialize()
Dim lR3%
    lR3 = Worksheets("Komplett").Cells(Rows.Count, 1).End(xlUp).Row
    ListBox1.RowSource = "Komplett!b4:b" & lR3
    ListBox1.ListIndex = 0
End Sub


Das funzt auch soweit.
Allerdings kann ich immer nur eine Page über initialize ansprechen.
Ich habe versucht den obigen Code 3 mal zu verwenden mit unterschiedlichen
lr's (dim lr1% dim lr2% dim lr3%)und den entsprechenden unterschiedlichen Listboxnummern (1bis3) und den entsprechenden Tabellenbezeichungen.
Einzeln funzt jedes, aber sobald ich 2 oder alle 3 nehme bekomme ich in der Userform nichts mehr angezeigt. Egal ob einzeln eingegeben oder in einem zusammen.
Ich hoffe ich konnte mich verständlich ausdrücken.
Was ich brauche?
Die Möglichkeit die Daten einzulesen egal auf welchen Tab ich in der Userform klicke.
Weiterhin sollen zu den angezeigten Werten dann in der Userform weiter unten die entsprechenden Infos angezeigt werden die in der gleichen Reihe aber in einer anderen Spalte stehen. ( das versuch ich dann zu realisiern wenn die Sache mit der Pageumschaltung funzt). Sollte jemand ne Lösung parat haben wäre ich natürlich nicht abgeneigt diese zu erfahren um sie einzusetzen ;-)

Gruß und danke im Voraus

Heinz
Bild


Betrifft: AW: userForm daten einlesen von: Matthias G
Geschrieben am: 09.02.2005 05:14:52

Hallo Heinz,

kann ich nicht nachvollziehen, folgendes funktioniert in einer Userform bei mit einwandfrei:
Private Sub UserForm_Initialize()
Dim lr%
lr = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
ListBox1.RowSource = "Tabelle1!A2:A" & lr
lr = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
ListBox2.RowSource = "Tabelle2!A2:A" & lr
lr = Worksheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
ListBox3.RowSource = "Tabelle1!B2:B" & lr
End Sub
Gruß Matthias


Bild


Betrifft: AW: userForm daten einlesen von: Heinz
Geschrieben am: 10.02.2005 01:24:44

Hallo Matthias,

danke für die Unterstützung. Hab Deinen Code mal ausprobiert und dann mit meinem
verglichen. Dabei hab ich dann den Fehler gefunden. Jetzt funzt es.
Ich hatte hinter Row.Source den Datenbanknamen benutzt. Das geht wohl nur bei einzelnen Listboxen.
Nachdem ich dann den Tabellenblattnamen eingesetzt habe ging es.

Gruß

Heinz


Bild


Betrifft: AW: userForm daten einlesen von: Heinz
Geschrieben am: 10.02.2005 03:05:52

Hallo nochmal,

ich hab da ein weiteres Problem das ich nicht in den Griff bekomme.
Das einlesen der Daten funzt ja.
Allerdings sollen bestimmte zugehörige Daten in Textboxen angezeigt werden.
Ich habe oben in der Multipage ein Combofeld. In dieses wird automatisch eine
Spalte einer Tabelle eingelesen.


Private Sub UserForm_Initialize()
Dim lr%
lr = Worksheets("Komplett").Cells(Rows.Count, 1).End(xlUp).Row
    ComboBox1.RowSource = "Komplett!b4:b" & lr
    ComboBox1.ListIndex = 0
End Sub


Nun soll die Möglichkeit bestehen einen der Werte anzuklicken und die zugehörigen Daten die in einer anderen Spalte der gleichen Zeile der Ursprungstabelle stehen in einer Textbox weiter unten auf der gleichen Multipage angezeigt werden.
Also mal Laienhaft ausgedrückt etwa in der Form:
Textbox1 = aktivierter Wert spalte +4
Textbox2 = aktivierter Wert spalte +5
Weiterhin soll dann die Möglichkeit sein die angezeigten Daten auszudrucken.
Kann ich die Userform ausdrucken? Also ohne den Hintergrund wie z.B. bei einer Hardcopy.
Oder muss ich das erst wieder in einer Tabelle ablegen und diese dann drucken?
Vielen Dank im Voraus.

Gruß

Heinz


Bild


Betrifft: Closed von: Heinz
Geschrieben am: 12.02.2005 02:59:06

o


 Bild

Beiträge aus den Excel-Beispielen zum Thema "userForm daten einlesen"