Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: variable Zellverknüpfung bei Steuerelementen

variable Zellverknüpfung bei Steuerelementen
29.04.2009 14:42:33
Michael
Hallo zusammen,
nach tagelangem Probieren und Kopfzermartern wollte ich es mal mit einer Frage an Experten versuchen.
Leider habe ich in meinem Bekanntenkreis niemanden der sich mit Excel auskennt.
Mein Problem:
Ich möchte ein Steuerelement (Kombobox) für die Eingabe von verschiedenen Daten in eine Tabelle nutzen.
D.H. Die Zellverknüpfung der Kombobox soll auf verschiedene Zellen weisen, abhängig von der Auswahl anderer Komboboxen.
Die Auswahl von Kombobox1 ist mit Zelle Kom1 verknüpft. Die von Kombobox2 mit Zelle Kom2.
Aus den Zellen Kom1 und Kom2 bilde ich in der Zelle "Ergebnis" eine Zelladresse Z.B. Data!C16
Nun Soll die Zellverknüpfung der dritten Kombobox genau auf die Adresse die in Zelle "Ergebnis" steht weisen. Verändere ich die Auswahl in Kombobox1 oder Kombobox2 so veränder sich also auch die Zelle "Ergebnis" und damit auch die Zellverknüpfung der dritten Kombobox.
Wie kann ich diese variable Zellverknüpfung in das Steuerelement einbauen?
Vielen dank schon mal für eure Mühen.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variable Zellverknüpfung bei Steuerelementen
29.04.2009 16:01:56
fcs
Hallo Michael,
für eine Combobox aus der Steuerelemente-Toolbox funktionieren die folgenden Makros.
Welche du benutzen muss, hängt davon ab, wann die LinkedCell der 3. Box neu gesetzt werden soll.
Gruß
Franz

'Erstellt unter Excel 2003
'Entweder die beiden Change-Ereignismakros
Private Sub ComboBox1_Change()
Me.ComboBox3.LinkedCell = Range("Ergebnis").Value
End Sub
Private Sub ComboBox2_Change()
Me.ComboBox3.LinkedCell = Range("Ergebnis").Value
End Sub
'oder das folgende GotFocus-Ereignismakro
Private Sub ComboBox3_GotFocus()
Me.ComboBox3.LinkedCell = Range("Ergebnis").Value
End Sub


Anzeige
AW: variable Zellverknüpfung bei Steuerelementen
30.04.2009 09:50:21
Michael
Vielen Dank für die schnelle Antwort.
Da ergibt sich aber ein Problem. Ich habe keine Ahnung wie ich das Einsetzten soll.
Mit Makros habe ich noch nicht gearbeitet.
Welchem Steuerelement weise ich denn das Makro zu ?
Was weise ich denn bei der Formatierung der Steuerelemente der Option Zellverknüpfung zu ?
Wo wird das Makro eingebunden ?
Anzeige
AW: variable Zellverknüpfung bei Steuerelementen
30.04.2009 10:44:21
fcs
Hallo Michael,
immer vorausgesetzt, deine Comboboxen sind aus der Symbolleiste Steuerelemente-Toolbox -nicht aus der Symbolleiste Formular, dann fügst du
den Code im VBA-Editor unter der Tabelle ein, in der du die 3 Comboboxen angelegt hast.
Entweder die beiden ComboBoxXX_Change Prozeduren oder die ComboBox3_GotFocus Prozedur.
Du muss jedoch darauf achten, dass die Namen der Comboxen in den Prozeduren mit den Namen deiner Comboboxen übereinstimmen.
Deine Frage liest sich aber fast, als wenn du Comboboxen aus der Symbolleiste "Formular" verwendest.
Dann geht es wie folgt:
Das folgende Makro in ein allgemeines Modul kopieren.
Dieses Makro dann den Comboboxen 1 und 2 zuweisen.
Das Makro ändert dann nach Wertänderungen jeweils die verknüpfte Zelle.

Sub Link_ComboBox3()
'Erstellt unter Excel 2003
'Dieses Makro den ComboBoxen 1 und 2 zuweisen
Dim objSh As Shape, varOldValue
Set objSh = ActiveSheet.Shapes("Dropdown 3") 'Namen der Combobox ggf. anpassen
With objSh
'Alten Wert der neuen verknüpften Zelle merken
varOldValue = Range(Range("Ergebnis").Value).Value
'Link anpassen
.ControlFormat.LinkedCell = Range("Ergebnis").Value
'Wert der Combobox auf alten Wert setzen
.ControlFormat.Value = varOldValue
End With
End Sub


Hoffe, damit kommst du weiter.
Gruß
Franz

Anzeige
AW: variable Zellverknüpfung bei Steuerelementen
30.04.2009 13:24:25
Michael
Puh, das bringt mich ins Schwitzen.
Erstmal vielen vielen Dank. Ich freue mich sehr das du dich bisher meiner angenommen hast.
Das eröffnet mir ganz neue Welten mit Excel.
Allerdings begreife ich das Ganze noch nicht wirklich.
Ich bin mal so frei und stelle die Arbeitsmappe auf den Server:
https://www.herber.de/bbs/user/61535.xls
Kurze Erkläreung:
Das Blatt "Dungeon" enthält die Komboboxen um die es geht.
Die Boxen sollen ihre Zellverknüpfung im Blatt "Data" haben.
Im Blatt Data werden die Zellverknüpfungen für die einzelnen Komboboxen in Abhängikeit der Einstellungen der Kombobox "Level" (für alle gültig) und der Komboboxen "RundeH"1 bis "RundeH12" gesetzt und in der Tabelle D3:AB14 dargestellt.
Die Werte der Komboxen sollen in der Tabelle Data!D18:AA737 hinterlegt werden.
Die Kombobox Aktion z.B. erhält ihren Zellbezug also aus der Einstellung der Kombobox "Level" und "Runde" und der ist in der Zelle Data!E3 hinterlegt.
Ich hoffe das ist nicht zuviel verlangt, wenn sich das mal einer anschauen würde. Vorerst bin ich dir Franz schon mal sehr Dankbar für die Informationen.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Variable Zellverknüpfung bei Steuerelementen in Excel


Schritt-für-Schritt-Anleitung

Um eine variable Zellverknüpfung in einem Excel-Steuerelement (Kombinationsfeld) zu erstellen, kannst du die folgenden Schritte befolgen:

  1. Kombinationsfelder hinzufügen: Stelle sicher, dass du die Kombinationsfelder aus der Symbolleiste "Steuerelemente-Toolbox" verwendest. Gehe zu „Entwicklertools“ > „Einfügen“ und wähle die Kombobox aus.

  2. Zellen für die Zellverknüpfung festlegen: Verknüpfe die ersten beiden Komboboxen mit ihren jeweiligen Zellen (z.B. Kom1 und Kom2).

  3. Ergebniszelle erstellen: In einer Zelle (z.B. Ergebnis) kannst du eine Formel nutzen, um die Zelladresse zu generieren, die von den beiden ersten Komboboxen abhängt. Beispiel:

    =INDIREKT("Data!" & "C" & (KOM1 & KOM2))
  4. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  5. Code hinzufügen: Füge den folgenden VBA-Code unter der Tabelle ein, in der du die Komboboxen angelegt hast:

    Private Sub ComboBox1_Change()
       Me.ComboBox3.LinkedCell = Range("Ergebnis").Value
    End Sub
    
    Private Sub ComboBox2_Change()
       Me.ComboBox3.LinkedCell = Range("Ergebnis").Value
    End Sub
  6. Makro zuweisen (bei Formular-Komboboxen): Wenn du Formular-Komboboxen verwendest, füge diesen Code in ein allgemeines Modul ein und weise ihn den Komboboxen 1 und 2 zu:

    Sub Link_ComboBox3()
       Dim objSh As Shape
       Set objSh = ActiveSheet.Shapes("Dropdown 3") ' Namen anpassen
       With objSh
           .ControlFormat.LinkedCell = Range("Ergebnis").Value
       End With
    End Sub
  7. Testen: Ändere die Auswahl in den ersten beiden Komboboxen und überprüfe, ob die Zellverknüpfung der dritten Kombobox korrekt aktualisiert wird.


Häufige Fehler und Lösungen

  • Makros sind deaktiviert: Stelle sicher, dass Makros in deiner Excel-Datei aktiviert sind. Überprüfe die Sicherheitseinstellungen in Excel.

  • Falscher Steuerelementtyp: Vergewissere dich, dass du die Komboboxen aus der „Steuerelemente-Toolbox“ und nicht aus der „Formular“-Symbolleiste verwendest.

  • Namen der Steuerelemente: Achte darauf, dass die Namen deiner Komboboxen im VBA-Code mit den tatsächlichen Namen übereinstimmen.


Alternative Methoden

Eine alternative Methode zur Erstellung variabler Zellverknüpfungen ist die Verwendung von Datenvalidierung in Kombination mit Formeln. Du kannst Dropdown-Listen erstellen, die auf verschiedenen Zellen basieren, und dann über Formeln auf diese Zellen zugreifen.


Praktische Beispiele

  • Komboboxen für Auswahl: Erstelle eine Kombobox, die es dem Benutzer ermöglicht, aus mehreren Optionen auszuwählen, und verknüpfe sie mit einer Zelle, die die Auswahl speichert.

  • Dynamische Daten: Du kannst mehrere Komboboxen verwenden, um Daten dynamisch zu ändern, indem du die Zellverknüpfung entsprechend anpasst.

Private Sub ComboBox1_Change()
   ' Beispiel für die Anpassung einer Zellverknüpfung
   Me.ComboBox3.LinkedCell = "Data!" & Range("Ergebnis").Value
End Sub

Tipps für Profis

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in deinen Makros, um unerwartete Probleme zu vermeiden.

  • Dokumentation: Halte deinen Code gut dokumentiert, damit du später leichter nachvollziehen kannst, was jeder Teil des Codes bewirken soll.

  • Testen in verschiedenen Excel-Versionen: Da die Funktionen und Steuerelemente in verschiedenen Excel-Versionen unterschiedlich sein können, teste deinen Code in der Version, die du verwendest.


FAQ: Häufige Fragen

1. Wie kann ich die Zellverknüpfung eines Steuerelements ändern?
Du kannst die Zellverknüpfung ändern, indem du das Steuerelement auswählst, in den Eigenschaften die „LinkedCell“ änderst oder über VBA den Code anpasst.

2. Was muss ich tun, wenn mein Makro nicht funktioniert?
Überprüfe, ob Makros aktiviert sind, ob du die richtigen Steuerelemente verwendest und ob die Namen im Code korrekt sind.

3. Wo kann ich den VBA-Editor finden?
Der VBA-Editor kann über die Tastenkombination ALT + F11 geöffnet werden. Hier kannst du deinen Code einfügen und anpassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige