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
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.
Das Ganze kann auch bei der Eingabe erfolgen, dann würde das wie folgt aussehen:
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.
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
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:
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.
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
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
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.
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
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