Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

mit vba in zelle speichern





Frage

hallo zusammen, ich bin ein absoluter vba neuling und hab so gut wie keine ahnung. also meine frage: wie speicher ich den ausgewählten eintrag aus einer combobox wieder in einer zelle um damit weiter zu arbeiten??

Antwort 1 von ChatAlligator

Da du von einer "Zelle" redest, nehme ich mal an du sprichst von EXCEL. Wenn die Combobox dort auf einem Tabellenblatt steht, dann ist kein VB notwendig - es reicht in den Eigenschaften der Combobox im Karteireiter "Steuerung" die Zellverknüfung festzulegen

Antwort 2 von mono

ja ich mein excel
die combobox steht aber nicht auf einem tabellenblatt sondern in einer userform wie ich die werte auslese weiß ich inzwischen aber nicht wie ich sie wieder zurückgeben kann

gruß mono

Antwort 3 von coros

Hallo @all!

Zunächst zu ChatAlligator: Deine Antwort ist nicht richtig. Zum einen gehst Du davon aus, dass es sich bei einer ComboBox, die in einem Tabellenblatt positioniert ist, um eine aus der Symbolleiste „Formular“ handeln muss. Zumindest zielt Deine Antwort in die Richtung. Es gibt aber auch ComboBoxen in der Symbolleiste Steuerelement-Toolbox.
Dann stimmt es nur bedingt, dass bei der ComboBox aus der Symbolleiste Formular in dem Registerreiter „Steuerung“ beim Eintrag Zellverknüpfung ein Eintrag gemacht werden muss, um den ausgewählten Wert in einer Zelle ausgegeben zu. Das was in der Zelle ausgegeben wird, ist die Auswahlindexzahl, nicht aber der ausgewählte Begriff oder Wert. Da muss man dann mit einer Formel weiterarbeiten um den Begriff zu erhalten.

Nun zu mono’s Frage, nachfolgender Code würde Dir den ausgewählten Eintrag in Zelle A1 kopieren, sobald die ComboBox verlassen wird.

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Range("A1") = ComboBox1.Text
End Sub


Das Ganze kann auch bei der Eingabe erfolgen, dann würde das wie folgt aussehen:

Private Sub ComboBox1_Change()
Range("A1") = ComboBox1.Text
End Sub


Ich hoff, Du kommst klar. Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von mono

danke

hat funktioniert

ich habe jetzt die Change() variante genommen

ich habe ich ein neues problem:
durch die combobox ändere ich werte im tabellenblatt und das ergebnis würde ich gern wieder anzeigen. wie bekomm ich das textfeld bei jedem ändern der combobox neu laden.

gruß mono

Antwort 5 von coros

Hallo Mono,

dann sieht das wie folgt aus:

Private Sub ComboBox1_Change()
Range("A1") = CDbl(ComboBox1.Text)
TextBox1.Text = Range("B1")
End Sub


Hier wird der Wert aus der ComboBox in Zelle A1 ausgegeben und der Wert aus Zelle B1 wird an die TextBox1 übergeben.
Zellbezeichnung und TextBox-Name musst Du natürlich anpassen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 6 von mono

Hallo coros,

danke nochmal hat funktioniert

ich hab das ganze mit einem lable versucht und da gings immer nicht. jetzt hab ich das textfeld aber angepasst (grauer hintergrund, kein rahmen, usw) das es genau wie ein lable aussieht.

gruß mono

Antwort 7 von coros

Hallo Mono,

bei einem Labelfeld gibt es die Eigenschaft ".Text" nicht. Dort lautet die Eigenschaft

.Caption


PS: Du darfst mich ruhig bei meinem Vornamen Oliver ansprechen. Dafür steht der ja unter dem Gruß.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 8 von mono

hallo,

und ich hab schon wieder eine frage :-)
das passt zwar nicht mehr wirklich zur ersten frage aber ich schreibes trotzdem mal hier rein.
also:
ich hab mir jetzt schon einiges dank deiner hilfe zusamengebaut und möchte schließlich nochein bild was auf der zelle A1 liegt anzeigen lassen ich hab mir jetzt in die userform ein Picture feld gelegt bekomm aber nur fehler wenn ich versuche das mit dem tabellenblatt zu verbinden.

noch mal vielen dank für die bisherige hilfe

gruß mono