Problem mit linked cell von Combo-Steuerelement

03/09/2008 - 13:59 von Irmgard Schwenteck | Report spam
Hallo,

auf einem Tabellenblatt habe ich einige Steuerelemente, u.a. ein Combo-Feld.
Zu diesem Element ist in den Eigenschaften die verlinkte Zelle
angegeben, weil ich mit dem ausgewàhlten Wert weiterarbeiten muß (und
ich noch nicht rausbekommen habe, wie man ein Combo-Element auf einem
Tabellenblatt anspricht).
In A5 steht also der Wert aus dem Steuerelement.

Jetzt passiert aber folgendes: wenn mehrere Arbeitsmappen offen sind und
man hin- und herschaltet, wird dieser Wert immer mal wieder auch in
andere Tabellenblàtter an die Stelle A5 geschrieben, was natürlich Mist
ist, weil dort Daten stehen.

Wie kann man das unterbinden?

Gruß
Irmgard
 

Lesen sie die antworten

#1 Andreas Killer
04/09/2008 - 11:26 | Warnen spam
Irmgard Schwenteck schrieb:

auf einem Tabellenblatt habe ich einige Steuerelemente, u.a. ein
Combo-Feld.
Zu diesem Element ist in den Eigenschaften die verlinkte Zelle
angegeben, weil ich mit dem ausgewàhlten Wert weiterarbeiten muß (und
ich noch nicht rausbekommen habe, wie man ein Combo-Element auf einem
Tabellenblatt anspricht).


Warum das mit dem hinundher zu einem Problem führt..., keine Ahnung.
Aber eine Combobox auf einem Tabellenblatt ist nicht das Thema:

Vorab gehe ich einfach mal davon aus das die Auswahlmöglichkeiten der
Combobox in Zelle D1 bis Zelle D3 stehen.

1. Aktivier mal die Symbolleiste "Steuerelement-Toolbox" und erstelle
eine Combobox. Nicht die Symbolleiste "Formular" nehmen, das ist eine
andere Comboxbox drin, die geht mit dem folgenden nicht!

2. Du bist nun im Entwurfsmodus, wie Du an dem unterlegten Symbol mit
dem Dreieck/Bleistift/Linieal in der Symbolleiste erkennen kannst.

3. Doppelklicke auf die Combobox, dann sollte sich der VBA-Editor öffnen
und diesen VBA-Code anzeigen:

Private Sub ComboBox1_Change()

End Sub

4. Ersetze den VBA-Code durch diesen hier:

Private Sub Worksheet_Change(ByVal Target As Range)
'Wird immer aufgerufen wenn sich im Tabellenblatt was àndert
If Target = Range("A5") Then
With ComboBox1
'Inhalt der Combox updaten
.Value = Target
End With
End If
End Sub

Private Sub ComboBox1_DropButtonClick()
'Wird immer aufgerufen wenn man auf den Auswahlbutton
'der Combobox klickt
With ComboBox1
'Evt. vorhandene Eintràge entfernen.
Do While .ListCount > 0
.RemoveItem 0
Loop
'Eintràge zum Auswàhlen hinzufügen
.AddItem Range("D1")
.AddItem Range("D2")
.AddItem Range("D3")
End With
End Sub

Private Sub ComboBox1_Change()
'Wird immer aufgerufen wenn der Inhalt der Combobox sich àndert
With ComboBox1
'Inhalt der ComboBox in eine Zelle schreiben
Range("A5") = .Value
End With
End Sub

5. Kehre in das Tabellenblatt zurück und beende den Entwurfsmodus indem
Du auf das Symbol Dreieck/Bleistift/Lineal in der Symbolleiste klickst.

Fertig, die ComboBox sollte nun funktionieren.

Andreas.

Ähnliche fragen