Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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
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
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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige