Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1344to1348
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dynamische Listen & auto. Anpassung

Dynamische Listen & auto. Anpassung
16.01.2014 17:42:03
Dip
Hallo Allerseits,
Für die folgende Problemstellung würde ich gerne um Eure Unterstützung bitten.
In der folgenden Datei:
https://www.herber.de/bbs/user/88856.xlsx
stehen im Blatt "Legende" die Quellwerte. Dort werden die Auswahlwerte für die Dropdownlisten verwaltet.
Im Blatt "Analysen" befinden sich die Dropdownlisten.
Ziel ist es, die Dropdownlisten im Blatt "Analysen" so zu konfigurieren, dass sie
1. Dynamisch ergänzt werden bei Ergänzungen im Quellbereich(Blatt "Legende")
2. Wenn im Quellbereich ein bestehender Wert geändert wird, der ausgewählte Wert aus der Dropdownliste im Blatt "Analysen" automatisch angepasst wird.
Für jeden Hinweis/Hilfe wäre ich Euch sehr dankbar!
Danke für Eure Aufmerksamkeit und Beste Grüsse
Patrick

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Listen & auto. Anpassung
16.01.2014 17:50:55
Andreas
Hallo Patrick,
am besten du definierst den Quellbereich mit Bereichsnamen (Bereich auswählen - Formeln - Namensmanager) auf diese Bereichsnamen kannst du dann in deinen Dropdownlisten verweisen. Ich zieh die Bereiche immer etwas größer, damit ich noch Werte dazu schreiben kann.
mfg, Andreas

AW: Dynamische Listen & auto. Anpassung
16.01.2014 18:41:44
Dip
Danke für Deine Antwort Andreas!
Die Möglichkeit mit dem Bereich ist mir bekannt... das Problem ist dass man von vornherein einen grösseren Bereich definieren muss wenn man die Liste ergänzen möchte... eleganter wäre es wenn, wenn sich der Bereich in der Datengältigkeit automatisch anpassen würde... dies geht wenn man zB den Quellbereich als Tabelle definiert, leider jedoch nur im selben Blatt...
Gäbe es weitere Möglichkeiten?
Der 2. Punkt mit dem automatischen Anpassen des bereits ausgewählten Wert aus der Dropdownliste bei Änderung eines Wertes im Quellbereich ist mit deinem Vorschlag leider auch nicht gelöst...
Grüsse
Patrick

Anzeige
Benutzt doch mal die Recherche, die es...
16.01.2014 18:40:51
Matze
Hallo Patrick,
hier im Forum gibt. Suche nach "Dropdown in Abhängigkeit" oder Google das mal.
Gruß Matze

Musterdatei von MatthiasL.,...
16.01.2014 18:58:13
MatthiasL.,...
da ist zwar keine dynamische Liste drin, aber das verhalten in Abhängigkeit.
https://www.herber.de/bbs/user/88859.xls
Matze

Anzeige
AW: Musterdatei von MatthiasL.,...
16.01.2014 19:52:47
MatthiasL.,...
Hallo Matthias,
Danke für deine Links und Hilfe!
es ist nicht so dass ich mir vorab keine Gedanken gemacht habe wie ich diese Problemstellung lösen könnte bzw. ob Google mir weiterhelfen könnte... leider habe ich keine Antworten gefunden und deshalb habe ich mich nun an Euch hier gewendet als letzte Hoffnung :-)
Die 2 Punkte sind gar nicht leicht zu lösen
Zu Punkt 1: Dein Link ist gut, denn hatte ich bereits gelesen... es löst die 1. Problemstellung, jedoch nur wenn die Quelldaten und Dropdownliste im gleichen Blatt sind! sobald die Quelldaten in einem Blatt und die Dropdownlisten in einem anderen Blatt sind, wie bei mir, wird die Dropdownliste leider nicht automatisch ergänzt...
Zu Punkt 2: Es geht nicht um Abhängigkeiten, sondern, zB. habe ich im Blatt "Analysen" in der Dropdownliste für "Abteilung" FI ausgewählt. Nun ändere ich im Blatt "Legende" in den Quelldaten FI durch MA... Nun sollte der vorher im Blatt "Analysen" ausgewählte Wert FI in der Zelle! automatisch mit MA ersetzt worden sein (In der Dropdownliste wird FI durch MA bereits automatisch ersetzt)..
Ich hoffe meine zusätzlichen Erläuterungen helfen die Problemstellung besser zu verstehen.
Falls jemand sich bereits mit der gleichen Problemstellung auseinander gesetzt hat, wäre ich über Hilfe/Tipps sehr dankbar!
Beste Grüsse
Patrick

Anzeige
AW: Dynamische Listen & auto. Anpassung
16.01.2014 19:54:09
Dip
Hallo Matthias,
Danke für deine Links und Hilfe!
es ist nicht so dass ich mir vorab keine Gedanken gemacht habe wie ich diese Problemstellung lösen könnte bzw. ob Google mir weiterhelfen könnte... leider habe ich keine Antworten gefunden und deshalb habe ich mich nun an Euch hier gewendet als letzte Hoffnung :-)
Die 2 Punkte sind gar nicht leicht zu lösen
Zu Punkt 1: Dein Link ist gut, denn hatte ich bereits gelesen... es löst die 1. Problemstellung, jedoch nur wenn die Quelldaten und Dropdownliste im gleichen Blatt sind! sobald die Quelldaten in einem Blatt und die Dropdownlisten in einem anderen Blatt sind, wie bei mir, wird die Dropdownliste leider nicht automatisch ergänzt...
Zu Punkt 2: Es geht nicht um Abhängigkeiten, sondern, zB. habe ich im Blatt "Analysen" in der Dropdownliste für "Abteilung" FI ausgewählt. Nun ändere ich im Blatt "Legende" in den Quelldaten FI durch MA... Nun sollte der vorher im Blatt "Analysen" ausgewählte Wert FI in der Zelle! automatisch mit MA ersetzt worden sein (In der Dropdownliste wird FI durch MA bereits automatisch ersetzt)..
Ich hoffe meine zusätzlichen Erläuterungen helfen die Problemstellung besser zu verstehen.
Falls jemand sich bereits mit der gleichen Problemstellung auseinander gesetzt hat, wäre ich über Hilfe/Tipps sehr dankbar!
Beste Grüsse
Patrick

Anzeige
Update: Dynamische Listen & auto. Anpassung
17.01.2014 13:50:58
Dip
Hallo Allerseits,
Zu Punkt 1: Ich habe eine Möglichkeit gefunden, dynamische Listen auch blattübergreifend zu generieren. Und zwar indem Man die Quelldaten als Tabelle definiert, und wiederum für die Daten in dieser Tabelle einen Namen definiert. Somit kann man in der Dropdownliste im anderen Blatt als Bezug diesen Namen angeben, und die Dropdownliste ergänzt sich automatisch wenn man in der Tabelle neue Werte eingibt.
Zu Punkt2: Leider habe ich noch keine Möglichkeit gefunden, wie bereits ausgewählte Daten aus einer Dropdownliste automatisch aktualisiert werden können, sobald der Quellwert geändert wird...
Wüsste jemand wie man dies lösen könnte?
Danke und Beste Grüsse
Patrick

Anzeige
AW: Update: Dynamische Listen & auto. Anpassung
20.01.2014 09:07:43
Matze
Hallo Patrick,
der Beitrag ist ja nun schon länger "offen" und ich wundere mich immer warum hier keiner der Experten darauf antwortet. Vermutlich wird das nicht automatisch aktualisiert.
Stell doch nochmal die Musterdatei ein mit dem was du bis jetzt erreicht hast, würde mir gerne den Aufbau ansehen. Wenn dein Projekt mit VBA unterstützt wird sollte das machbar sein.
Das kann dann einer der Profis erledigen, vielleicht sogar ich, wenn es meine Kenntnisse nicht überfordert.
Gruß Matze

AW: Update: Dynamische Listen & auto. Anpassung
20.01.2014 17:24:06
Dip
Hallo Matze,
Anbei meine Lösung zu Punkt 1:
https://www.herber.de/bbs/user/88902.xlsx
Eine Lösung für Punkt 2 stellt sich in der Tat schwierig dar. Meines Erachtens nur mittels VBA zu lösen. Man kann den Suchbereich dahin eingrenzen, da sich pro Spalte nur eine Dropdownliste befindet...
Bin gespannt ob sich jemand an diese Herausforderung wagt bzw. eine Lösung dazu findet. Wäre ziemlich beeindruckend!
Wünsche einen schönen Feierabend und Beste Grüsse
Patrick

Anzeige
AW: Update: Dynamische Listen & auto. Anpassung
21.01.2014 15:36:08
fcs
Hallo Patrick,
hier die entsprechenden Ereignismakros, die du im VBA-Editor unter Blatt "Legende" einfügen musst.
Wichtig ist, dass im Blatt "Legende" immer nur eine Zelle geändert wird.
Gruß
Franz
'Code unter dem Tabellenblatt "Legende"
Private varWertOld As Variant
Private Sub Worksheet_Activate()
Range("A1").Select 'sorgt dafür, dass eine Zelle selektiert werden muss zum _
Merken des alten Wertes
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varWertNeu
Dim ZeileL As Long
If Target.Cells.Count = 1 Then
If Not Intersect(Target, Me.Range("Bereich")) Is Nothing Then
'in Blatt "Analyse" alten durch neuen Wert ersetzen, wenn in Zelle _
im Bereich geändert wurde
varWertNeu = Target.Value
With Worksheets("Analyse")
ZeileL = .Cells(.Rows.Count, 3).End(xlUp).Row
If ZeileL >= 2 Then
.Range(.Cells(2, 3), .Cells(ZeileL, 3)).Replace what:=varWertOld, _
replacement:=varWertNeu, lookat:=xlWhole, MatchCase:=True
End If
End With
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Wert in Zelle merken, wenn 1 Zelle selektiert wird
If Target.Cells.Count = 1 Then
varWertOld = Target.Value
Else
varWertOld = ""
End If
End Sub

Anzeige
AW: Update: Dynamische Listen & auto. Anpassung
21.01.2014 17:31:15
Dip
Hallo Franz,
Danke für Deinen Input!
Dein Code funktioniert wunderbar, jedoch nur für die Spalte C (Bereich)... Für die Spalten A (Programm), B (Projekt) und D(Mitarbeiter) werden Änderungen in den Quelldaten leider nicht automatisch im Blatt "Analyse" für die bereits ausgewählten Daten aus der Dropdownliste übernommen...
Es müsste quasi den Tabellennamen im Blatt "Legende" mit dem Tabellennamen im Blatt "Analyse" vergleichen, und in dieser Spalte alle Zellen nach dem alten Wert suchen und wenn vorhanden diese mit dem neuen Wert ersetzen.
Es ist zu erwähnen, dass es keine 1:1 Beziehung zwischen den Spalten gibt, dh. Tabelle "Programm" im Blatt "Legende" steht in Spalte A, die Dropdownliste für die Tabelle "Programm" nicht zwingend auch in Spalte A im Blatt "Analyse"...
Auch kann pro Spalte im Blatt "Analyse" die gleiche Dropdownliste mehrfach vorkommen...
Anbei eine aktualisierte Musterdatei:
https://www.herber.de/bbs/user/88932.xlsx
Ausserdem können mit der Zeit weitere Tabellen im Blatt "Legende" hinzugefügt werden bzw. die entsprechenden Dropdownlisten im Blatt "Analyse"...
Hoffe meine Angaben können Euch für das Verständnis weiterhelfen.
Danke für Eure Aufmerksamkeit!
Beste Grüsse
Patrick

Anzeige
AW: Update: Dynamische Listen & auto. Anpassung
22.01.2014 15:14:44
fcs
Hallo Patrick,
ich hab das Worksheet_Change-Ereignismakro jetzt etwas allgemeiner gefasst.
Wichtig ist, dass die Spaltentitel in den Blättern und der Name der Bereich jeweils identisch sind, damit der Abgleich zwischen Legende und Analyseblatt funktioniert. Wenn die Bereichsnamen abweichen, dann ist eine Übersetzungsliste erforderlich, die dann im Makro abgearbeitet werden muss.
Im Legendenblatt solltest du zwischen den Tabellen jeweils eine Spalte leer lassen, die Tabellen sind dann einfacher zu verwalten.
Wenn du eine neue Legende einfügen willst, dann wie folgt vorgehen:
1. ab Zeile 2 zwei gültige Werte eintragen.
2. für die 2 Zellen den Bereichsnamen festlegen.
3. den Spaltentitel eintragen
4. die 3 Zellen markieren und die Tabelle einfügen.
Bei einer anderen Reihenfolge werden eine oder mehrere Fehlermeldungen angezeigt.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varWertNeu, strBereich As String, strMsg As String
Dim ZeileL As Long, Spalte As Long
Dim intFehler As Integer
On Error GoTo Fehler
If Target.Cells.Count = 1 Then
intFehler = 1
strBereich = Cells(1, Target.Column)
If strBereich = "" Then Exit Sub
If Not Intersect(Target, Me.Range(strBereich)) Is Nothing Then
'in Blatt "Analyse" alten durch neuen Wert ersetzen, wenn in Zelle _
im Bereich geändert wurde
varWertNeu = Target.Value
With Worksheets("Analyse")
intFehler = 2
Spalte = .Rows(1).Find(what:=strBereich, LookIn:=xlValues, _
lookat:=xlWhole).Column
ZeileL = .Cells(.Rows.Count, Spalte).End(xlUp).Row
If ZeileL >= 2 Then
intFehler = 3
.Range(.Cells(2, Spalte), .Cells(ZeileL, Spalte)).Replace _
what:=varWertOld, replacement:=varWertNeu, lookat:=xlWhole, _
MatchCase:=True
End If
End With
End If
End If
Fehler:
With Err
strMsg = "Fehler-Nr.: " & .Number & vbLf & .Description
Select Case .Number
Case 0 'alles OK
Case 1004
strMsg = strMsg & vbLf & vbLf
Select Case intFehler
Case 1
strMsg = strMsg & "Bereich mit Name """ & strBereich _
& """ ist noch nicht definiert!"
Case 2
Case 3
End Select
MsgBox strMsg, vbInformation + vbOKOnly, "Makro: Worksheet_Change"
Case 91 '
'do nothing - Spalten-Titel aus Legende wurde in Analyse nicht gefunden
Case Else
MsgBox strMsg, vbInformation + vbOKOnly, "Makro: Worksheet_Change"
End Select
End With
End Sub

Anzeige
AW: Update: Dynamische Listen & auto. Anpassung
23.01.2014 13:44:09
Dip
Hallo Franz,
Dankeschön für Dein Update!
Leider hat es nicht funktioniert, oder ich bin nicht fähig es richtig zu implementieren...
Nehmen wir das Beispiel "Programm":
https://www.herber.de/bbs/user/88932.xlsx
Mein Vorgehen:
Im Blatt "Legende" ist der Spaltenname "Programm"
Im Blatt "Analyse" ist der Spaltenname auch "Programm"
Um eine dynamische Liste im Blatt "Analyse" für "Programm" generieren zu können, definiere ich im Blatt "Legende" die Spalte "Programm" als Tabelle und gebe ihr den Namen "Tab_Programm".
Um nun einen blattübergreifenden Bezug zur "Tab_Programm" herstellen zu können, muss ich die Quelldaten von "Programm" als Bereich definieren und gebe ihm den Namen "Programm".
Die Tabelle sowie der Bereich der Quelldaten von "Programm" können nicht den gleichen Namen haben, Excel erlaubt dies nicht.
Im Blatt "Analyse" markiere ich die Zellen in der entsprechenden Spalte für "Programm", die mittels Datenüberprüfung - Liste den Bereich "Programm" zuordne, damit diese Zelle mit "Tab_Programm" verknüpft ist.
Wenn Du den Namensmanager öffnest, siehst Du schön die Namen bzw. Bereiche der Tabelle bzw. Bereiches.
Weder die Benennung der Spalten in "Programm" bzw. "Tab_Programm" hat leider funktioniert.
(Wenn möglich wäre es vorteilhaft, wenn ich die Spalten mit "Programm" und nicht "Tab_Programm" benennen könnte, aufgrund Verständlichkeit für andere User)
Ich hoffe meine Erläuterungen sind verständlich.
Sonst stehe ich Dir gerne zur Verfügung bei Fragen.
Danke und Beste Grüsse
Patrick

AW: Update: Dynamische Listen & auto. Anpassung
24.01.2014 14:50:51
Dip
Hallo Franz,
Dankeschön für Dein Update!
Leider hat es nicht funktioniert, oder ich bin nicht fähig es richtig zu implementieren...
Nehmen wir das Beispiel "Programm":
https://www.herber.de/bbs/user/88932.xlsx
Mein Vorgehen:
Im Blatt "Legende" ist der Spaltenname "Programm"
Im Blatt "Analyse" ist der Spaltenname auch "Programm"
Um eine dynamische Liste im Blatt "Analyse" für "Programm" generieren zu können, definiere ich im Blatt "Legende" die Spalte "Programm" als Tabelle und gebe ihr den Namen "Tab_Programm".
Um nun einen blattübergreifenden Bezug zur "Tab_Programm" herstellen zu können, muss ich die Quelldaten von "Programm" als Bereich definieren und gebe ihm den Namen "Programm".
Die Tabelle sowie der Bereich der Quelldaten von "Programm" können nicht den gleichen Namen haben, Excel erlaubt dies nicht.
Im Blatt "Analyse" markiere ich die Zellen in der entsprechenden Spalte für "Programm", die mittels Datenüberprüfung - Liste den Bereich "Programm" zuordne, damit diese Zelle mit "Tab_Programm" verknüpft ist.
Wenn Du den Namensmanager öffnest, siehst Du schön die Namen bzw. Bereiche der Tabelle bzw. Bereiches.
Weder die Benennung der Spalten in "Programm" bzw. "Tab_Programm" hat leider funktioniert.
(Wenn möglich wäre es vorteilhaft, wenn ich die Spalten mit "Programm" und nicht "Tab_Programm" benennen könnte, aufgrund Verständlichkeit für andere User)
Ich hoffe meine Erläuterungen sind verständlich.
Sonst stehe ich Dir gerne zur Verfügung bei Fragen.
Danke und Beste Grüsse
Patrick

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige