Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
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
Aus Listenfeld auf Zelle springen
15.08.2014 16:10:42
Matthias
Hallo Excel Gemeinde,
ich möchte über ein Dropdown (Gültigkeitsliste) folgendes erreichen:
Wenn ich einen Wert (Nenne sie Kategorie) aus dem Listenfeld auswähle soll Excel in der Spalte A ab Zelle 36 diesen Wert suchen und auf diese Zelle wo der selbe Wert steht, springen. (Die Gültigkeitsliste bezieht sich auf eine andere Tabelle (Daten).
In der Spalte A sind die Kategorien jedoch hat es auch Leere Zellen drin bis zur nächsten Kategorie. Das Listenfeld ist in D10 wo der User zuerst die Kategorie auswählen sollte.
Noch ne Frage: Wo befindet sich das Dropdown im VBA finde es nirgends. Frage weil ich den Namen des Listenfelddropdown (Listbox) nicht finde.
Hoffe ich hab mich verständlich ausgedrückt.
Für einen Tipp wäre ich Euch dankbar.
Liebe Grüsse
Matthias

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus Listenfeld auf Zelle springen
16.08.2014 07:47:33
Hajo_Zi
Hallo Matthias,
benutzt Du Daten Gültigkeit. Steuerelement kann ja nicht sein da nicht klar wo?

AW: Aus Listenfeld auf Zelle springen
16.08.2014 08:39:49
Beverly
Hi Matthias,
versuche es mit diesem Code im Codemodul des Tabellenblattes mit der Gültigkeitsliste:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Dim strBereich As String
Dim strTabelle As String
If Target.Address(0, 0) = "D10" Then
strBereich = Mid(Target.Validation.Formula1, InStr(Target.Validation.Formula1, "!") + 1)
strTabelle = Mid(Left(Target.Validation.Formula1, InStr(Target.Validation.Formula1, "!") - _
1), 2)
Set rngZelle = Worksheets(strTabelle).Range(strBereich).Find(Target, lookat:=xlWhole)
If Not rngZelle Is Nothing Then Application.Goto reference:=rngZelle
End If
End Sub


Anzeige
AW: Aus Listenfeld auf Zelle springen
20.08.2014 16:26:34
Matthias
Hallo Hajo und Karin,
Besten Dank für Eure Antworten.
@Hajo Das Dropdown ist via DATEN - Datenüberprüfung - Liste =Daten!$D2:$D15 gemacht. Das Dropdown befindet sich in der Tabelle Bestellung bei D10.
@Karin Dein Code springt nun auf die Tabelle Daten und zeigt dort dann richtig in der Spalte D die richtige Kategorie. Es sollte aber in der Tabelle Bestellung auf den Eintrag von der Spalte A springen.
Ich habe nun das File hochgeladen für ein besseres Verständnis.
https://www.herber.de/bbs/user/92205.xlsx
Liebe Grüsse
Matthias

Anzeige
AW: Aus Listenfeld auf Zelle springen
20.08.2014 16:42:21
Beverly
Hi Matthias,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
If Target.Address(0, 0) = "D10" Then
Set rngZelle = Range("A6:A335").Find(Target, lookat:=xlWhole)
If Not rngZelle Is Nothing Then Application.Goto reference:=rngZelle
End If
Set rngZelle = Nothing
End Sub
Und was soll passieren, wenn der Begriff mehrmals in Spalte A vorkommt?


AW: Aus Listenfeld auf Zelle springen
20.08.2014 17:34:38
Matthias
Hallo Karin,
gute Frage, also das sollte nicht vorkommen, was aber geschehen könnte, dass die Angebote erweitert werden könnten (Also mehr Einträge pro Kategorie, das wiederum gibt eine längere Liste). Ich habe deshalb den Range mal auf 1000 gemacht. Was noch störend ist, dass er die Zeile per Auswahl nun unten anzeigt, cool wäre, wenn Excel die Auswahl zuoberst anzeigt, damit alle anderen Einträge dieser Kategorie unten ersichtlich wären.
Danke vorerst für den Code.
Liebe Grüsse
Matthias

Anzeige
AW: Aus Listenfeld auf Zelle springen
20.08.2014 18:23:23
Beverly
Hi matthias,
ich nehme an, immer als letztes steht Totalkosten in CHF inkl. MwSt. in Spalte A, gleichgültig, wie lang die Liste ist? Dann kannst du es so lösen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
Dim rngLetzte As Range
If Target.Address(0, 0) = "D10" Then
Set rngLetzte = Columns(1).Find("Totalkosten in CHF inkl. MwSt.", lookat:=xlWhole)
Set rngZelle = Range(Cells(6, 1), Cells(rngLetzte.Row, 1)).Find(Target, lookat:=xlWhole)
If Not rngZelle Is Nothing Then Application.Goto reference:=rngZelle, scroll:=True
End If
Set rngZelle = Nothing
Set rngLetzte = Nothing
End Sub


Anzeige
AW: Aus Listenfeld auf Zelle springen
21.08.2014 09:55:49
Matthias
Hallo Karin,
wie soll ich Dir danken. Es funktioniert jetzt genau so wie ich mir das vorgestellt habe. Einmal mehr wurde mir in diesem Forum rasch und kompetent geholfen. Vielen Dank.
Liebe Grüsse
Matthias

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige