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

Forumthread: DropdownWert per Makro ändern

DropdownWert per Makro ändern
Daniel
Guten Morgen,
ich habe in einem Registerblatt mit dem Namen "Angaben" ein Dropdownfeld bei C103 mit mehreren
Werten zur Auswahl.
Ich möchte per CommandButton bei Klick den Wert per VBA Code automatisch
ändern auf einen bestimmten.
Weiß jemand den code dazu?
Mit freundlichen Grüßen
Daniel
Anzeige
Ist das Dropdown aus der Gültigkeitsliste? oT
22.10.2009 09:18:34
Matthias5
AW: Ist das Dropdown aus der Gültigkeitsliste? oT
22.10.2009 09:19:21
Daniel
Ja genau darüber erstellt
Sorry, doch noch 'ne Frage...
22.10.2009 09:28:50
Matthias5
Hi Daniel,
nach nochmaligem Lesen glaube ich, das Problem doch noch nicht richtig verstanden zu haben. Willst du die Auswahlwerte ändern (einer oder mehrere, falls mehrere -> wie in der Combobox hinterlegt?) oder willst du einen der zur Verfügung stehenden Werte auswählen. Falls Letzteres, warum der Umweg über die Combobox?
Kannst du das nochmal ein bischen erläutern?
Gruß,
Matthias
Anzeige
AW: Sorry, doch noch 'ne Frage...
22.10.2009 09:33:14
Daniel
Hallo Matthias,
Also ich habe über die Gültigkeit ein Dropdownmenü erstellt mit 3 auswählbaren Werten. Nun möchte ich mir auf eine andere Registerkarte ein Commandbutton erstellen der bei Klick einen bestimmten Wert dieser 3 auswählt (auf dem anderen Registerblatt). Hintergrund ist der, das sich je nach Auswahl im dropdownmenü andere Berechnungen durchgeführt werden und ich einfach per klick kurz neben dem Commandbutton das Ergebnis angezeigt werden soll in einer Zelle. Und über den Commandbutton geht das schneller und unkomplizierter.
Gruß
Daniel
Anzeige
AW: Sorry, doch noch 'ne Frage...
22.10.2009 09:41:28
Matthias5
Hi Daniel,
soll der Wert aus C103 übernommen werden? Dann einfach so:
Private Sub CommandButton1_Click()
Sheets("Tabelle1").Range("A1").Value = Sheets("Tabelle2").Range("C103").Value
End Sub
Du schreibst

der bei Klick einen bestimmten Wert dieser 3 auswählt 

Welcher Wert soll denn ausgewählt werden?
Gruß,
Matthias
Anzeige
AW: Sorry, doch noch 'ne Frage...
22.10.2009 09:48:41
Daniel
Danke für den Code, ich hab ihn angepasst an mein file und jetzt funktioniert es, einfach nach dem ersten Range("").Value = "Mein Wert". So passt es.
Aber eine Zusatzfrage habe ich noch,
wie kann ich nach Auswahl des neuen Wertes eine Infobox erscheinen lassen, mit einem Ok Button, das wenn dieser betätigt wird, der Wert wieder auf den vorhrigen zuückschaltet?
Danke für die Hilfe
Anzeige
AW: Sorry, doch noch 'ne Frage...
22.10.2009 09:55:06
Matthias5
Wenn ich dich richtig verstanden habe:
Private Sub CommandButton1_Click()
Merker = Sheets("Tabelle1").Range("A1").Value
Sheets("Tabelle1").Range("A1").Value = Sheets("Tabelle2").Range("C103").Value
If MsgBox("Soll der Wert zurückgesetzt werden?", vbYesNo, "Wert zurücksetzen") = vbYes Then _
Sheets("Tabelle1").Range("A1").Value = Merker
End Sub

Anzeige
AW: Sorry, doch noch 'ne Frage...
22.10.2009 10:05:04
Daniel
Sodele jetzt ist das Problem gelöst, hier der Code falls es dich interessieren sollte was ich gesucht hab :=)
Danke für die Hilfe
Sub Auswählen()
Sheets("Angaben").Range("C103").Value = "Wendel"
If MsgBox("Soll der Wert zurückgesetzt werden?", vbYesNo, "Wert zurücksetzen") = vbYes Then _
Sheets("Angaben").Range("C103").Value = "Rohr"
End Sub
Schönen Tag noch
Anzeige
AW: Sorry, doch noch 'ne Frage...
23.10.2009 10:04:41
Daniel
Hallo,
ich bins nochmal ^^^
und zwar wollte ich den Code noch erweitern so das wenn ein bestimmter Wert ausgewählt ist er einen bestmmten anderen wert auswählt.
Sprich eine if bedingung.
If blabla1 ist ausgewählt dann stelle blabla2 ein bzw.
If blabla2 ist ausgwählt dann stelle blabla1 ein.
Geht das?
Mfg
Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Dropdown-Wert per Makro ändern


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei mit dem Dropdown-Menü.

  2. Aktiviere den Entwicklermodus: Gehe zu "Datei" > "Optionen" > "Menüband anpassen" und aktiviere das Kontrollkästchen für "Entwicklertools".

  3. Füge einen CommandButton hinzu: Gehe zu "Entwicklertools" > "Einfügen" > "Button (Formularsteuerelement)" und ziehe ihn auf dein Arbeitsblatt.

  4. Doppelklicke auf den Button, um den VBA-Editor zu öffnen.

  5. Füge den folgenden Code ein, um den Wert des Dropdowns zu ändern:

    Private Sub CommandButton1_Click()
       Sheets("Angaben").Range("C103").Value = "Neuer Wert"
    End Sub
  6. Schließe den VBA-Editor, gehe zurück zu Excel und teste den Button.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden": Stelle sicher, dass der Blattname korrekt ist und das Dropdown-Menü existiert.
  • Fehler: Der Wert wird nicht aktualisiert: Überprüfe die Zellverknüpfung des Dropdowns. Stelle sicher, dass das Dropdown korrekt konfiguriert ist.
  • Lösung für die Rücksetzanfrage: Wenn du eine Rücksetzanfrage mit einer MsgBox einfügen möchtest, nutze folgenden Code:

    Private Sub CommandButton1_Click()
       Dim Merker As String
       Merker = Sheets("Angaben").Range("C103").Value
       Sheets("Angaben").Range("C103").Value = "Neuer Wert"
       If MsgBox("Soll der Wert zurückgesetzt werden?", vbYesNo, "Wert zurücksetzen") = vbYes Then
           Sheets("Angaben").Range("C103").Value = Merker
       End If
    End Sub

Alternative Methoden

  • VBA Dropdown-Liste anpassen: Wenn du eine Dropdown-Liste in einer UserForm verwenden möchtest, kannst du den Wert wie folgt auswählen:

    Me.ComboBox1.Value = "Wert aus der Liste"
  • Verwendung von ActiveX-Steuerelementen: Du kannst ActiveX-Dropdown-Listen verwenden, die mehr Anpassungsmöglichkeiten bieten.


Praktische Beispiele

  1. Wert abhängig von Auswahl: Wenn du möchtest, dass bei einer bestimmten Auswahl ein anderer Wert gesetzt wird:

    Private Sub CommandButton1_Click()
       If Sheets("Angaben").Range("C103").Value = "Wert1" Then
           Sheets("Angaben").Range("C103").Value = "Wert2"
       Else
           Sheets("Angaben").Range("C103").Value = "Wert1"
       End If
    End Sub
  2. Dropdown-Werte ändern: Um die Werte in der Dropdown-Liste zu bearbeiten, kannst du diese mit dem folgenden Befehl ändern:

    Sheets("Angaben").Range("C103").Validation.Modify Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="Wert1,Wert2,Wert3"

Tipps für Profis

  • Nutze Fehlerbehandlung in deinen VBA-Skripten, um unerwartete Probleme zu vermeiden.
  • Überlege, Zellverknüpfungen für Dropdowns zu verwenden, um schnell auf Änderungen zu reagieren.
  • Experimentiere mit Formeln in Kombination mit Dropdowns, um dynamische Berechnungen zu ermöglichen.

FAQ: Häufige Fragen

1. Wie kann ich die Dropdown-Liste dynamisch ändern?
Du kannst die Werte der Dropdown-Liste mit dem Validation-Objekt in VBA anpassen.

2. Ist es möglich, mehrere Dropdowns gleichzeitig zu ändern?
Ja, du kannst mehrere Dropdowns in einer Prozedur anpassen, indem du einfach die entsprechenden Zellreferenzen angibst.

3. Wie speichere ich die Änderungen in einem Dropdown?
Änderungen an den Werten der Dropdown-Liste werden automatisch gespeichert, solange sie in einer gültigen Gültigkeitsregel festgelegt sind.

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