1.5k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich habe noch ein kleines Problem...
Ich möchte in einer userform z.B. in der TextBox 5 die Daten übernehmen und "vorblenden", die ich vorher in die Textbox1 eingegeben habe. Optional will ich dann die übernommenen Daten in der Textbox5 stehen lassen oder überschreiben. Habs bisher nicht hingekriegt... Weiß jemand Rat?
Danke für euren Tipp!!
Gruß A.

11 Antworten

0 Punkte
Beantwortet von
Hallo Andreas,

klicke doppelt auf Textbox1 und gib in die enstandene Sub die Zeile Textbox5 = Textbox1 ein.
Du kannst alternativ oben rechts auch das Exit-Ereignis wählen. Dann werden die Daten erst nach Verlassen der Textbox übernommen.

Gruß Mr. K.
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Mr.K.,

danke, eigentlich ganz einfach - wenn man's weiß! Klappt ganz ausgezeichnet.

Kannst du mir noch einen Tipp geben mit welchem Steuerelement ich in der userform Daten nur anzeigen kann, die ich aus der verbundenen Excel-Datei entnehme.
Habe es mit ListBox1=cells(x,y) probiert - klappt aber nicht...
Danke und Gruß A.
0 Punkte
Beantwortet von
Hallo Andreas,

Wenn du eine Listbox verwendest, kannst du dort die RowSource-Eigenschaft auf einen Zellbereich setzen. Gib dort z.B. A1:A5 ein.
Wenn du zusätzlich die ControlSource-Eigenschaft z.B. auf A2 setzt wird die zweite Zeile als Standardwert markiert.

Gruß Mr. K.
0 Punkte
Beantwortet von
Korrektur: ControlSource kennzeichnet die verbundene Zelle in der deine Auswahl in der Liste gespeichert wird. Nutze also lieber eine Zelle außrhalb des ZellBereichs.

Mr. K.
0 Punkte
Beantwortet von
Zum Befüllen der Listebox kanns du natürlich auch ListBox1.AddItem Cells(x, y) nehmen. hierfür musst du aber eine Schleife durchlaufen, was du ja meistens nicht willst.
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

danke, das mir schon ein Stück weitergeholfen....aber das Quellfeld ist leider variabel. Ich kann sicher in den Eigenschaften keine Formel eingeben.
Gruß A.
0 Punkte
Beantwortet von
Das nicht. Aber als Alternative zu AddItem kannst du in der RowSource einen Definierten Namen hinterlegen dem du dann über ActiveWorkbook.Names("MeinBereich").RefersTo = "=A1:A4"
einen variablen Zellbezug zuweist. Das solltest du aber machen bevor du Userform.Show ausführst. sonst wird die Änderung erst nach dem zweiten Start übernommen.
0 Punkte
Beantwortet von
oder halt im UserForm Code die Zeile ListBox1.RowSource = "A1:A5" hinterlegen. Dann sparst du dir den Umweg über Namen.

Gruß Mr. K.
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
oh, das klingt kompliziert...mal sehen ob ich das hinkriege!?
Erst mal vielen Dank für die schnelle Hilfe und einen schönen Abend.
A.
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Da ist vielleicht eine ComboBox auch ene Alternative.

Muster

Gruß
fedjo
...