Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kann eine Formel eine Combobox als Argument nutzn?

Forumthread: Kann eine Formel eine Combobox als Argument nutzn?

Kann eine Formel eine Combobox als Argument nutzn?
25.08.2004 21:13:51
lecorno
Hi,
Kann ich Eigenschaften der Combobox als Argument für eine Funktion definieren?
Durch eine Änderung in der Combobox soll sich dadurch der Wert der Zellen, die diese Formel benutzen, dynamisch verändern...
Das hat nicht geklappt:
myZelle.Formula = "=myFormel(Chr(34) & Sheets(1).ComboBox1.Value & Chr(34))"
INFO: Chr(34) = "
Die Funktion konnte zwar so erfolgreich aufgerufen werden, aber Änderungen in der Comboboxauswahl wurden nicht auf die Zelle übertragen...
Ich denke, ihr findet ne Lösung und verteile schonmal Vorschußlorbeeren ;)
Grüße,
Corny

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kann eine Formel eine Combobox als Argument nutzn?
25.08.2004 21:31:21
andre
Hallo Corny,
könnte höchstens mit einer benutzerdefinierten Funktion gehen, mit der Du die Comboboxauswahl ausliest und in der Formel verwendest.

Function cb1_lesen()
cb1_lesen = ActiveSheet.ComboBox1.Value
End Function

Aber Du kannst doch auch die linkedcell nehmen oder?
Anzeige
AW: Kann eine Formel eine Combobox als Argument nu
25.08.2004 21:38:05
lecorno
Hi,
deine funktion macht im prinzip das gleiche, wie mein formelaufruf.
linkedcell kannte ich bisher noch nicht, würde aber funktionieren.
ich habe mir jetzt geholfen, indem die Private Sub ComboBox1_Change()-Prozedur einer bestimmten Zelle, auf die sich meine formel bezieht, die Combobox.value zuweist ;)
grüße,
corny
Anzeige
;
Anzeige

Infobox / Tutorial

Dynamische Werte mit der Excel Combobox nutzen


Schritt-für-Schritt-Anleitung

  1. Erstelle eine Combobox:

    • Öffne dein Excel-Dokument und gehe auf die Registerkarte "Entwicklertools".
    • Wähle "Einfügen" und füge eine "ComboBox" in dein Arbeitsblatt ein.
  2. Verknüpfe die Combobox mit einer Zelle:

    • Klicke mit der rechten Maustaste auf die Combobox und wähle "Eigenschaften".
    • Setze die LinkedCell-Eigenschaft auf die Zelle, die den Wert der Combobox speichern soll (z.B. A1).
  3. Erstelle eine benutzerdefinierte Funktion: In der VBA-Umgebung (Alt + F11) kannst du die folgende Funktion erstellen:

    Function cb1_lesen()
       cb1_lesen = ActiveSheet.ComboBox1.Value
    End Function
  4. Verwende die Funktion in einer Formel: In der Zelle, die du dynamisch ändern möchtest, kannst du jetzt auf die Funktion zugreifen:

    =myFormel(cb1_lesen())
  5. Aktualisiere die Zelle bei Änderungen: Füge diese Prozedur hinzu, um die Zelle bei Änderungen der Combobox zu aktualisieren:

    Private Sub ComboBox1_Change()
       Range("A2").Value = ComboBox1.Value
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Änderungen in der Combobox werden nicht übertragen
    Lösung: Stelle sicher, dass die LinkedCell korrekt gesetzt ist und die Prozedur ComboBox1_Change implementiert wurde.

  • Fehler: Funktion gibt Fehler zurück
    Lösung: Überprüfe, ob die Combobox korrekt benannt ist und dass die Funktion cb1_lesen im richtigen Modul gespeichert ist.


Alternative Methoden

  • Verwendung von LinkedCell: Anstatt eine benutzerdefinierte Funktion zu verwenden, kannst du die LinkedCell-Eigenschaft direkt nutzen, um den Wert der Combobox in einer Zelle zu speichern und darauf basierende Formeln zu erstellen.

  • Datenvalidierung: Eine einfache Möglichkeit, Werte auszuwählen, besteht darin, die Datenvalidierung zu nutzen, anstatt eine Combobox zu verwenden. Dies kann in manchen Fällen geeigneter sein.


Praktische Beispiele

  • Beispiel 1: Wenn in der Combobox die Werte "Rot", "Grün" und "Blau" stehen, könntest du eine Formel haben, die den Text in einer anderen Zelle je nach Auswahl einfärbt:

    If Range("A1").Value = "Rot" Then
      Range("A3").Interior.Color = RGB(255, 0, 0)
    ElseIf Range("A1").Value = "Grün" Then
      Range("A3").Interior.Color = RGB(0, 255, 0)
    Else
      Range("A3").Interior.Color = RGB(0, 0, 255)
    End If
  • Beispiel 2: Du kannst auch Berechnungen basierend auf der Auswahl in der Combobox durchführen, z.B.:

    =WENN(A1="Rot"; 10; WENN(A1="Grün"; 20; 30))

Tipps für Profis

  • Nutze die ComboBox-Einstellungen, um die Dropdown-Liste dynamisch aus einer Tabelle zu befüllen, um die Benutzerfreundlichkeit zu verbessern.
  • Achte darauf, den richtigen Bereich für die LinkedCell zu wählen, um Konflikte mit anderen Formeln zu vermeiden.
  • Experimentiere mit verschiedenen Ereignissen in VBA, um die Benutzeroberfläche noch interaktiver zu gestalten.

FAQ: Häufige Fragen

1. Kann ich mehrere Comboboxen in einer Excel-Datei verwenden?
Ja, du kannst mehrere Comboboxen erstellen und jede mit unterschiedlichen Zellen verknüpfen.

2. Was ist der Vorteil einer Combobox gegenüber einer Dropdown-Liste?
Eine Combobox ermöglicht nicht nur die Auswahl eines Wertes, sondern auch die Eingabe eigener Werte, was die Flexibilität erhöht.

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