VB von Tabelle in Userform anzeigen

17/06/2008 - 07:12 von mike | Report spam
Hallo
Ich habe folgendes Problem
Ich erstelle soeben eine Userform mit verschiedenen " Listenfelder,
Kobinationsfelder, Textfelder usw. Ich möchte, das dass Kombinationsfeld eine
aus der Arbeitsmappe ( Tabelle 1 A1:A100) übertragen wird und in einem
zweiten Listenfeld oder Textfeld der Wert oder Text aus der Arbeitsmappe
(Tabelle 1 B1:B100) variabel angezeigt wird. ( Spalte A ist Artikel Spalte B
ist der Preis)
Es sollte so funktionieren wie bei einen Sverweis.
Danke Mike
 

Lesen sie die antworten

#1 Julian O.
17/06/2008 - 10:52 | Warnen spam
On 17 Jun., 07:12, mike wrote:
Hallo
Ich habe folgendes Problem
Ich erstelle soeben eine Userform mit verschiedenen " Listenfelder,
Kobinationsfelder, Textfelder usw. Ich möchte, das dass Kombinationsfeld eine
aus der Arbeitsmappe ( Tabelle 1 A1:A100) übertragen wird und in einem
zweiten Listenfeld oder Textfeld der Wert oder Text aus der Arbeitsmappe
(Tabelle 1 B1:B100) variabel angezeigt  wird. ( Spalte A ist Artikel Spalte B
ist der Preis)
Es sollte so funktionieren wie bei einen Sverweis.
Danke Mike



Hi Mike,

also wenn ich dich richtig verstehe, willst du das sobald die Userform
ausgeführt wird, Werte einer Tabelle in ein Kombinationsfeld
eingelesen werden und man bei Auswahl des Wertes (in deinem Beispiel
ein Artikel) daneben der Preis angezeigt wird. Ich versuch mal das
hier mittels Makro zu lösen:

Private Sub UserForm_Initialize()
'beim öffnen der userform werden die artikel in das Kombinatinsfeld
geschrieben

For i = 1 To 65536
If ActiveSheet.Cells(i, 1).Value = "" Then Exit For
'liest tabelle ein bis kein wert mehr gefunden wird
UserForm1.Kombinationsfeld.AddItem ActiveSheet.Cells(i, 1).Value
'hier wird ein item ins Kombinationsfeld eingefügt
Next i

End Sub

Zum auslesen des Preises kann man zB die Suchmethode benutzen:

Private Sub Kombinationsfeld_Change()
Dim xXx as Range
'wird zum suchen benötigt

Artikel = Kombinationsfeld.Value
'Suchbegriff definieren

Set xXx = Activesheet.Range("A1:A100").Find(what:=Artikel,
lookat:=xlWhole)
'Range angeben, xlWhole um einen exaten wert zu finden

Text1.text = xXx.Offset(0,1).Value
'in die textbox text1 den Wert eine Spalte neben dem gefundenen
Artikel übertragen

End Sub


Das hier ist ein Beispiel, dass ich schnell ohne testen geschrieben
habe. Ich verwende in einer meiner Excelsheets so eine àhnliche
Prozedur, nur lese ich die Werte direkt aus unserem Datenbanksystem
raus um diese immer aktuell zu erhalten. Ich hoffe es hilft dir weiter
bzw. es dient dir zumindest als Denkanstoß ;)

Liebe Grüße
Julian

Ähnliche fragen