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

Forumthread: DropDown Zellenwerte automatisch aktualisieren

DropDown Zellenwerte automatisch aktualisieren
15.04.2018 15:44:59
Chris
Hallo,
folgendes Problem:
Ich habe eine Dropdown mit Verweis auf 2 Zellen. Je nachdem welche Sprache vorab ausgewählt wurde, ist da Inhalt der 2 Zellen entweder "Ja;Nein" oder "Yes;No".
Da in den Dropdowns bereits Beispielwerte für spätere Anweder eingetragen sind, ändert sich die Dropdown, aber nicht der vorher in der Zelle eingetragene Wert.
Habt ihr vielleicht eine Idee?
Da häufiger mal das Wort "Ja" fällt, ist es nicht möglich über Suchen & Ersetzen alle "Ja" durch ein "Yes" zu ersetzen bzw. das über ein Makro zu automatisieren.
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: DropDown Zellenwerte automatisch aktualisieren
15.04.2018 15:54:24
Hajo_Zi
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "D4" And Target  "" Then
Application.EnableEvents = False
Range("D5").ClearContents
Application.EnableEvents = True
End If
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: DropDown Zellenwerte automatisch aktualisieren
15.04.2018 16:12:53
Chris
Hallo Hajo,
erst einmal vielen Dank für die schnelle Hilfe.
Der Code geht schon einmal in die richtige RIchtung, allerdings löscht er bei Änderung nur den Inhalt.
Ich würde mir wünschen, dass ein bereits eingetragenes "Ja" zu einem "Yes" geändert wird.
AW: DropDown Zellenwerte automatisch aktualisieren
15.04.2018 16:16:30
Hajo_Zi

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "D4" And Target  "" Then
Application.EnableEvents = False
If Range("D5") = "Ja" Then
Range("D5") = "Yes"
ElseIf Range("D5") = "Nein" Then
Range("D5") = "No"
ElseIf Range("D5") = "Yes" Then
Range("D5") = "Ja"
Else
Range("D5") = "Nein"
End If
Application.EnableEvents = True
End If
End Sub
Gruß Hajo
Anzeige
AW: DropDown Zellenwerte automatisch aktualisieren
15.04.2018 16:29:19
Chris
Hallo Hajo,
der Code erledigt genau das beschriebene Problem.
Meine Frage wäre jetzt noch, ob es ggf. eine simplere oder dynamischere Lösung gibt?
Ich kann schon absehen, dass es viel Arbeit wird, wenn ich den Code anpasse, um damit Felder zu aktualisieren, in denen mehr als nur ein Ja oder Nein steht oder die Felder um eine weitere SPrache ergänzt werden.
Viele Grüße
Anzeige
AW: DropDown Zellenwerte automatisch aktualisieren
15.04.2018 16:50:55
Hajo_Zi
im ersten Beitrag ging es um eine Zelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "D4" And Target  "" Then
Application.EnableEvents = False
Target.Offset(1, 0) = Uebersetzen(Target.Offset(1, 0))
Application.EnableEvents = True
End If
End Sub
Function Uebersetzen(Razelle As Range)
If Razelle = "Ja" Then
Uebersetzen = "Yes"
ElseIf Razelle = "Nein" Then
Uebersetzen = "No"
ElseIf Razelle = "Yes" Then
Uebersetzen = "Ja"
Else
Uebersetzen = "Nein"
End If
End Function
Gruß Hajo
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellenwerte in Excel-Dropdowns automatisch aktualisieren


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke Alt + F11, um den VBA-Editor zu starten.

  2. Tabelle auswählen: Im linken Bereich solltest Du Deine Excel-Datei sehen. Doppelklicke auf die Tabelle, in der Du das Dropdown hast.

  3. Code einfügen: Kopiere den folgenden Code in das rechte Fenster:

    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address(False, False) = "D4" And Target <> "" Then
           Application.EnableEvents = False
           Target.Offset(1, 0) = Uebersetzen(Target.Offset(1, 0))
           Application.EnableEvents = True
       End If
    End Sub
    
    Function Uebersetzen(Razelle As Range)
       If Razelle = "Ja" Then
           Uebersetzen = "Yes"
       ElseIf Razelle = "Nein" Then
           Uebersetzen = "No"
       ElseIf Razelle = "Yes" Then
           Uebersetzen = "Ja"
       Else
           Uebersetzen = "Nein"
       End If
    End Function
  4. VBA-Editor schließen: Schließe den Editor, um zu Excel zurückzukehren.

  5. Dropdown erstellen: Erstelle ein Dropdown in Zelle D4 und verlinke es mit den entsprechenden Werten.

Jetzt wird bei jeder Änderung im Dropdown die Zelle D5 automatisch aktualisiert, basierend auf der Auswahl.


Häufige Fehler und Lösungen

  • Dropdown aktualisiert nicht: Stelle sicher, dass die richtige Zelle (z.B. D4) im Code angegeben ist.
  • VBA-Code funktioniert nicht: Überprüfe, ob die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Makros.
  • Fehlermeldung beim Ausführen des Codes: Vergewissere Dich, dass der Code in das richtige Tabellenblatt eingefügt wurde.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch die Datenüberprüfung in Excel nutzen, um eine Dropdown-Liste zu erstellen, die sich manuell aktualisieren lässt. Dabei musst Du jedoch die Werte selbst anpassen, wenn sich die Quelle ändert.


Praktische Beispiele

  1. Zwei Sprachen: Erstelle ein Dropdown mit "Ja;Nein" und "Yes;No" in D4. Bei Auswahl von "Ja" wird D5 automatisch auf "Yes" geändert.
  2. Erweiterte Sprachen: Füge weitere Sprachen hinzu, indem Du den Code in der Funktion Uebersetzen entsprechend anpasst.

Tipps für Profis

  • Dynamische Dropdown-Listen: Verwende benannte Bereiche, um die Dropdown-Liste dynamisch zu gestalten, sodass sie automatisch aktualisiert wird, wenn neue Werte hinzugefügt werden.
  • Fehlerbehandlung: Füge Fehlerbehandlungsmechanismen in Deinen VBA-Code ein, um unerwartete Eingaben zu vermeiden.

FAQ: Häufige Fragen

1. Wie fülle ich andere Zellen automatisch aus, wenn ich Werte in der Excel-Dropdownliste auswähle?
Du kannst die Offset-Funktion im VBA-Code verwenden, um die benachbarten Zellen basierend auf der Dropdown-Auswahl zu aktualisieren.

2. Kann ich die Dropdown-Liste automatisch aktualisieren ohne VBA?
Ja, Du kannst die Datenüberprüfung verwenden, aber die Liste wird nicht automatisch aktualisiert. Du musst sie manuell anpassen.

3. Wo finde ich die Makroeinstellungen in Excel?
Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen.

4. Wie kann ich den VBA-Code anpassen, um mehr als zwei Werte zu berücksichtigen?
Du kannst die Uebersetzen-Funktion erweitern, indem Du mehr Bedingungen hinzufügst, um zusätzliche Werte zu berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige