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

Forumthread: DropDown Listenauswahl andere Zelle manipulieren?

DropDown Listenauswahl andere Zelle manipulieren?
05.11.2006 10:33:18
Markus
Hallo Experten,
ich benötige bitte eure Hilfe.
Ich habe in vielen Zellen sogenannte Listen (mit
(Bereich.Validation.Add Type:=xlValidateList ... erstellt) die mit Werten gefüllt sind.
Ich möchte gerne, eine bestimmte Zelle in Abhängigkeit der Listenauswahl manipulieren. Kann ich da ein bestimmtes Ereignis verwenden, oder wie mach ich das am besten.
Danke für Eure Hilfe
Markus
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulieren?
05.11.2006 13:17:14
{Boris}
Hi Markus,
kommt drauf an, was Du unter "manipulieren" verstehst.
Allgemein löst eine Listenauswahl das Change-Ereignis aus (zumindest seit xl2000), und darauf kannst du beliebige Aktionen folgen lassen.
Ohne VBA kannst Du die getroffene Auswahl mit Hilfe von Formeln weiterverarbeiten.
Konkreter geht´s aber nur mit mehr Infos.
Grüße Boris
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulier
05.11.2006 13:35:44
Markus
Hallo Boris,
das klingt schon mal nicht schlecht. Auf alle Fälle mächte ich VBA verwenden.
Ich habe ein Range aus 5 Zellen. In der ersten Zelle befindet sich das Listenfeld.
in den nächsten 3 Zellen stehen Zahlen und in der 5. Zelle soll in Abhängigkeit der Listenauswahl mit den 3 Zellen mit Zahlen eine Berechnung durchgeführt werden.
Ich hoffe ich konnte dir mein Problem näher bringen.
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulier
05.11.2006 14:03:53
{Boris}
Hi Markus,
Beispiel: A1 ist Deine Auswahlzelle. Die auswählbaren Einträge sind "a", "b", "c" usw.
Rechtsklick auf den Tabellenreiter, Code anzeigen, ins rechts Fenster diesen Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address(0, 0) = "A1" Then 'das ist Deine Auswahlzelle
Select Case .Value
Case "a": MsgBox "a gewählt"
Case "b": MsgBox "b gewählt"
'usw. usw.
End Select
End If
End With
End Sub

Anstelle der Messageboxen hinterlegst Du jetzt Deine unterschiedlichen Berechnungen.
Wenn es aber nicht allzuviele Auswahlmöglichkeiten sind, dann lässt sich das sicherlich auch "formulieren", und VBA ist entbehrlich.
Grüße Boris
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulier
05.11.2006 17:50:18
Markus
Hallo Boris,
vielen Dank für deine grossartige Hilfe. Ein Problem habe ich noch. Ich kann nicht sagen in welchen Zellen diese DropDownlistenfelder existieren.
Kann man die Zelle in der das Listenfeld existiert irgendwie anders rausfinden, vielleicht mit einem Namen für das Dropdownlistenfeld?
Kennst du vielleicht einen Trick?
Danke, Markus
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulier
05.11.2006 18:14:23
{Boris}
Hi Markus,
wenn Du mit "DropdownListenfeld" eine Gültigkeitsauswahl aus Daten-Gültigkeit-Liste meinst (ich bin bisher davon ausgegangen), dann ist das kein eigenständiges Objekt, das einen Namen besitzt.
Du kannst zwar sehr wohl die Zelle selbst mit einem Namen versehen, aber das beißt sich mit Deiner Aussage, dass Du eigentlich gar nicht weißt, wo sich diese Zelle(n) befindet.
Dennoch dazu ein Beispiel: Im Folgenden gibst Du der Auswahlzelle den Namen "Auswahl". Vorteil: Diese kann sich irgendwo in der Mappe befinden - und der Code funktioniert dennoch.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Name.Name = "Auswahl" Then 'das ist Deine Auswahlzelle
Select Case .Value
Case "a": MsgBox "a gewählt"
Case "b": MsgBox "b gewählt"
'usw. usw.
End Select
End If
End With
End Sub

Als letzte Möglichkeit kannst Du eine Zelle auch nur daraufhin überprüfen, ob sie eine Gültigkeitsliste besitzt. Falls ja: Code ausführen.
Aber gib doch mal konkret an, was sich wo und wie befindet.
Grüße Boris
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulier
05.11.2006 19:16:20
Markus
Hallo Boris,
ich meine, wie du richtig erkannt hast eine Daten-Gültigkeit-Liste.
Ich gebe dir mal den Code an wie ich diese Liste erstelle. Aber wenn du mir bitte sagst wie ich überprüfen kann, ob eine Gültigkeitsliste in der Zelle existiert, haben wir gewonnen :-). Denn auf diesem Tabellenblatt gibts e nur einen Typ dieser Liste, aber dafür xmal an beliebiger Stelle.
Sorry ich weiss nicht wie ich einen code einfüge
[code]
.....
str_Liste="x,y,z...."
'weist jeder Zelle diese Liste "str_Liste" zu
With Bereich.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=str_Liste
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Werte aus Liste"
.InputMessage = ""
.ErrorMessage = "Sie können nur Werte aus der Liste auswählen!"
.ShowInput = True
.ShowError = True
End With
[/code]
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulier
05.11.2006 19:38:33
{Boris}
Hi Markus,
dann so:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errExit
With Target
If .Validation.InCellDropdown Then 'prüft, ob Auswahlliste vorhanden ist
Select Case .Value
Case "a": MsgBox "a gewählt"
Case "b": MsgBox "b gewählt"
'usw. usw.
End Select
End If
End With
errExit:
End Sub

Grüße Boris
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulier
05.11.2006 19:58:43
Markus
Vielen Dank,
ohne dich hätte ich es nicht geschafft.
Gruss
Markus
AW: DropDown Listenauswahl andere Zelle manipulier
06.11.2006 12:08:36
Markus
Hallo Boris
Bitte sag mir noch eines. Meine worksheets mit den Listenfelder werden per code erstellt.
wie schaff ich es, dass ich deinen code automatisch in jedem erstellten worksheet eintrage.
Die NAmen der Worksheets sind auch unterschiedlich.
Gruss Markus
Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = Name
Anzeige
AW: DropDown Listenauswahl andere Zelle manipulier
05.11.2006 19:29:36
Markus
Hallo Boris,
ich meine, wie du richtig erkannt hast eine Daten-Gültigkeit-Liste.
Ich gebe dir mal den Code an wie ich diese Liste erstelle. Aber wenn du mir bitte sagst wie ich überprüfen kann, ob eine Gültigkeitsliste in der Zelle existiert, haben wir gewonnen :-). Denn auf diesem Tabellenblatt gibts e nur einen Typ dieser Liste, aber dafür xmal an beliebiger Stelle.
Sorry ich weiss nicht wie ich einen code einfüge
[code]
.....
str_Liste="x,y,z...."
'weist jeder Zelle diese Liste "str_Liste" zu
With Bereich.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=str_Liste
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Werte aus Liste"
.InputMessage = ""
.ErrorMessage = "Sie können nur Werte aus der Liste auswählen!"
.ShowInput = True
.ShowError = True
End With
[/code]
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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