Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ComboBox als Anzeige nutzen
#1
Hallo zusammen  19

Ich wollte wissen, ob man einen Wert auf einem Tabellenblatt beim öffnen des UserForms in einer ComboBox anzeigen kann?

Beispiel:

Ich habe in Zelle A1 den Wert 200

Wenn ich das Userform öffne hätte ich in der ComboBox1 gerne den Wert stehen. Die Combobox dient nur als Anzeige und die Eigenschaft Locked ist auf True gestellt.


Habe es mal so probiert aber da tut sich nicht wirklich was  25

Code:
Private Sub UserForm_Initialize()

   
   With UserForm1.ComboBox1
   
        .AddItem Cells(1, 1).Value
       
    End With

End Sub
   


Können auch Werte angezeigt werden, die mithilfe der Funktion SVERWEIS() im Tabellenblatt angezeigt werden?

LG Primo
Antworten Top
#2
Hallo, 19 

schreibe es so: 21 

Code:
.AddItem Cells(1, 1).Value
.ListIndex = 0

Bedenke, dass er so immer den Wert von A1 des gerade aktiven Tabellenblattes nimmt. Dodgy

Was meinst du mit dem SVERWEIS?
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Primo Centurio
Antworten Top
#3
Super funktioniert wunderbar.

Die Frage mit dem SVERWEIS habe ich mir gerade selber beantwortet.

Und zwar wurde der Wert in der Zelle A1 mit der Formel SVERWEIS aus einer Matrix geholt und ich war mir ned sicher ob er dann in der ComboBox auch angezeigt werden kann.  05


LG Primo
Antworten Top
#4
Hallo, 19 

zwei Dinge noch: 21 

Ich nutze gerne das "UserForm_Activate-Ereignis", da es jedesmal beim aktivieren der UserForm aufgerufen wird. Das "UserForm_Initialize-Ereignis" wird nur beim starten der UserForm aufgerufen. Es kommt aber immer auf die Arbeitsweise an.

Du kannst mit "Evaluate" den Wert auch direkt - ohne Umweg über A1 - in der ComboBox anzeigen. Auch hier gilt, wenn du A1 brauchst, dann vergiss es, sonst nimm "Evaluate". Dodgy
________
Servus
Case
Antworten Top
#5
Moin!
Da ich Dir schon etliche Male geholfen habe, darf ich auch mal Kritik loswerden.
Dazu muss ich aber kurz ausholen:
Ich wollte irgendwann (lang ist es her) VBA lernen, weil mir die Programmlogik gefallen hatte.
Ich hatte mir ein Buch gekauft, um die Grundlagen zu erlernen.
Ferner las ich viel in Foren mit, um auch mal die "bekloppten" Wünsche der Threadersteller mitzubekommen und die Lösungen zu analysieren.
(ich hatte damals "nur für mich" Lösungen erstellt, die zwar funktionierten, aber weitab der Lösungen der "alten Hasen" waren)
Selbstverständlich kannte ich damals auch Seiten wie Online-Excel ff.
Ich brauchte ein wenig, um zu verstehen, dass Cells(1, 1).Parent.Parent.Parent auf die Application Excel verwies, aber dies gehört zu einem Objekt-Modell nun mal dazu.
Den Objekt-Katalog (F2 im VBE) hatte ich auch Jahre später nicht sinnvoll genutzt, jedoch war mir die Bedeutung von F1 im VBE durchaus geläufig!
Meine erste Frage in einem Excel-Forum betraf dann die "Umleitung" eines Makros mit Übergabeparametern auf das BeforeRightClick-Event, welches ja (per default) Private ist …

Ach so, ich wollte ja kritisieren:
Ein Forum kann niemals ein Ersatz zum vorbereiteten Lernen sein!
Du kannst noch hunderte dieser Pille-Palle-Fragen stellen, bloß lernen wirst Du so absolut nichts!

Und jetzt kommt die schwierige Lösung des Problems:
Code:
Me.ComboBox1 = Cells(1, 1)

Selbstverständlich musst Du berücksichtigen, dass Cells() ohne Parent sich immer auf das ActiveSheet bezieht.
Und dass sich Me auf das Parent bezieht, solltest Du auch wissen …
(außerdem werden die Default-Eigenschaften (.Value) benutzt, was in den meisten Programmiersprachen so nicht funktioniert)

Gruß Ralf
(der hofft, Dir ein paar Inputs gegeben zu haben)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Primo Centurio
Antworten Top
#6
Moin Ralf

Klar das darfst du und ich nehme die Kritik gerne an und bin ja auch froh wenn man mir da Mal vor die Füsse schiesst.
Ich werde somit versuchen das "Pille Palle" Zeug selber zu lösen und mir mit den von dir vorgeschlagenen Mitteln helfen.

Danke für deine Ehrlichkeit.

Ich wünsche dir noch einen schönen Abend.

Lg Primo

PS: @Case ich werde mir das Evaluate mal genauer anschauen.
Antworten Top
#7
Bitte, sehe nicht nach 'Evaluate'; das bringt hier nichts.


Code:
Private Sub Userform_Initialize()
  Combobox1.List = cells(1).currentregion.columns(1)
  ComboBox1.listindex=0
End Sub

Zum Studium: https://www.snb-vba.eu/VBA_Fill_combobox...ox_en.html
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste