Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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

Dropdownliste (Datenprüfung) mit Ziel

Dropdownliste (Datenprüfung) mit Ziel
26.11.2018 15:23:03
Stefanie
Hallo ihr lieben,
ich habe mal wieder eine kleine Frage an Euch, wo ihr mir hoffentlich behilflich sein könnt.
Ich habe im Feld A1 ein freigegebenes Feld, in das ich gerne eine Monatsliste (Januar, Februar, März) unter der Zuhilfenahme der Datenprüfung (Liste) eintragen möchte. In der Zeile 2 stehen auch ab E2 alle Tage im Format TT.MM.JJJJ. Ich möchte, nachdem ich zb. den März aus der Liste ausgewählt habe, dass mir das Blatt automatisch bis zum 01.ten des jeweiligen ausgewählten Monats scrollt. Spalte A habe ich fixiert. Im Anschluss soll der Cursor in gefundene Spalte/ Zeile 10 ganz links stehen.
Habt ihr Lösungsvorschläge für mich? Probiere mich schon ewig, aber es klappt einfach nicht. ActiveX würde ich gerne vermeiden.
Viele liebe Grüße Stefanie

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdownliste (Datenprüfung) mit Ziel
26.11.2018 16:36:32
Beverly
Hi Stefanie,
meinst du so etwas (Code im Codemodul des Tabellenblattes):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range
If Target.Cells(1).Address(False, False) = "A1" Then
Set rngZelle = Rows(2).Find(DateValue("01." & Target.Value & ". " & Year(Date)), LookIn: _
=xlValues)
If Not rngZelle Is Nothing Then
Application.Goto reference:=rngZelle.Offset(8, 0), scroll:=True
End If
End If
End Sub


AW: Dropdownliste (Datenprüfung) mit Ziel
26.11.2018 16:40:39
Gerhard
Hallo Stefanie,
So? Mit einfachen Excel-Bordmitteln erstellt...
Der Kalender sollte ggf. noch verschönt werden, zB. 29./30./31. der Monate ausblenden/anzeigen.
Gruß
Gerhard
https://www.herber.de/bbs/user/125659.xlsx
Anzeige
AW: Dropdownliste (Datenprüfung) mit Ziel
26.11.2018 19:08:54
Stefanie
Hey Gerhard,
ja genau so dachte ich mir das... Wie hast du das hinbekommen? Finde keinen VBA Code ....
AW: Dropdownliste (Datenprüfung) mit Ziel
26.11.2018 19:23:07
Stefanie
Ah jetzt bin ich durchgestiegen. Ja das ist super, allerdings hätte ich doch gerne die VBA-Lösung verwendet. Aber als notlösung wäre das natürlich eine Idee. Danke dir für die Idee.
Das VBA aus der ersten Antowort bekomme ich mit meiner Liste irgendwie nicht zum laufen....
AW: Dropdownliste (Datenprüfung) mit Ziel
26.11.2018 21:54:54
Stefanie
Ich hab es lösen können, allerdings sieht das Makro glaub sehr bescheiden aus. Der Vorteil, ich kann jetzt sowohl Datum eingeben, nach dem gesucht wird, als auch die Datenprüfungsliste verwenden (ohne Prüfung auf Richtigkeit) und er springt und scrollt direkt dort hin wo ich möchte.
Sub Dropdownliste(ByRef target As Range)
Dim lngDatum As Date
If target.Address = "$A$1" Then
If target.Value = "Januar" Then
lngDatum = "01.01." & Year(Now)
ElseIf target.Value = "Februar" Then
lngDatum = "01.02." & Year(Now)
ElseIf target.Value = "März" Then
lngDatum = "01.03." & Year(Now)
ElseIf target.Value = "April" Then
lngDatum = "01.04." & Year(Now)
ElseIf target.Value = "Mai" Then
lngDatum = "01.05." & Year(Now)
ElseIf target.Value = "Juni" Then
lngDatum = "01.06." & Year(Now)
ElseIf target.Value = "Juli" Then
lngDatum = "01.07." & Year(Now)
ElseIf target.Value = "August" Then
lngDatum = "01.08." & Year(Now)
ElseIf target.Value = "September" Then
lngDatum = "01.09." & Year(Now)
ElseIf target.Value = "Oktober" Then
lngDatum = "01.10." & Year(Now)
ElseIf target.Value = "November" Then
lngDatum = "01.11." & Year(Now)
ElseIf target.Value = "Dezember" Then
lngDatum = "01.12." & Year(Now)
Else
lngDatum = Range("A1")
End If
End If
Dim rng As Range
For Each rng In Range("B2:AK2")
If IsDate(rng) Then
If CLng(rng) = lngDatum Then
Application.ScreenUpdating = False
Application.Goto rng.Offset(8, 0), True
Application.ScreenUpdating = True
GoTo Schleife_Ausgang
End If
End If
Next
ActiveSheet.Cells(15, 4).Select
ActiveWindow.ScrollColumn = 4
Schleife_Ausgang:
Set rng = Nothing
End Sub

Vl kann jemand das ganze noch "schöner" gestalten :) Es tut aber seinen Zweck :)
Anzeige
Meinen Vorschlag hast du getestet? - o.w.T.
27.11.2018 08:27:16
Beverly


AW: Meinen Vorschlag hast du getestet? - o.w.T.
27.11.2018 14:08:07
Stefanie
Ja das habe ich, allerdings ging das nicht ....
AW: Meinen Vorschlag hast du getestet? - o.w.T.
27.11.2018 14:25:11
Beverly
Stehen die Datumswerte fix als Wert in der Zelle oder ergeben sie sich aus einer Formel? Ich bin von einer Formel ausgegangen - wenn nicht, dann ersetze LookIn:=xlValues durch LookIn:=xlFormulas
Übrigens: man sollte auch ohne Aufforderung zumindest eine Rückmeldung geben, selbst wenn ein Vorschlag nicht das gewünschte Ergebnis bringt - nur dann kann man als Helfer weitere Hilfestellung geben...


AW: Meinen Vorschlag hast du getestet? - o.w.T.
27.11.2018 15:08:42
Stefanie
Das hatte ich bereits ganz am Anfang geschrieben, dass das vba von dir nicht gelaufen ist. Die Tabelle, die danach eingestellt wurde, läuft, aber ich hätte eben lieber eine vba Lösung gehabt ... vom Aufbau ist das bei mir wie die Tabelle die danach eingestellt wurde. Habe Formeln drinnen im Datum . 1 Zelle Datum +1 jede weitere.
Vl Schreibe ich es noch einmal verständlicher: Ich möchte in einem vordefinierten Feld (zum Beispiel A1) ein Dropdown-Menü (Dtarnprügung),In dem die Monate von Januar bis Dezember hinterlegt sind. Wählt man zb den März aus, so soll er direkt zum 1. März springen. Wünschenswert wäre es, wenn der Cursor auch nicht rechts, sondern links am Bildrand steht, da die Spalte A fixiert ist. Allerdings soll auch nur im Feld A1 das Ereignis ausgelöst werden, da ich sonst auf dem Blatt noch weitere Eintragungen tätige. Toll wäre es, wenn man in das Feld A1 noch alternativ ein Datum direkt rein schreiben könnte, damit es direkt auf diesen Tag springt. Gesucht werden soll das Datum, dass ich in der zweiten Zeile fortlaufend in den Spalten befindet, das Datum kreiert sich aus einer Formel. Der cursor soll dann in der gesuchten Spalte in Zeile 10 stehen.
Anzeige
AW: Meinen Vorschlag hast du getestet? - o.w.T.
27.11.2018 15:33:38
Beverly
Wenn du schon schreibst, dass etwas nicht funktionert, dann solltest du auch auf den BETREFFENDEN Beitrag antworten (oder zumindest den Autor des Beitrags ansprechen) - schließlich ließt man als Helfer nicht unbedingt alle indirekten Antworten, die auf andere Beiträge gegeben wurden.
Ich kann dein Problem nicht nachvollziehen - der Code funktioniert so wie er soll.
Ich den Code außerdem dahingehend erweitert, dass auch anstelle des Monats ein Tagesdatum eingegeben werden kann.
https://www.herber.de/bbs/user/125687.xlsm
Was du erreichen willst, habe ich übrigens bereits in deinem Eröffnungsbeitrag verstanden...


Anzeige
AW: Meinen Vorschlag hast du getestet? - o.w.T.
27.11.2018 15:45:05
Stefanie
Ja da funktioniert es in deinem Blatt. Also ich werde mir jetzt das ganze nochmal
Anschauen und dann denke ich, komme ich soweit klar.
Lieben dank dir trotzdem nochmal für deine Bemühungen 👍
Vielleicht kannst du...
27.11.2018 16:01:24
Beverly
...ja auch mal sagen, WAS GENAU in deiner Mappe "nicht ging", oder du lädst deine Mappe hoch, damit man die tatsächlichen Bedingungen nachvollziehen kann.


AW: Vielleicht kannst du...
28.11.2018 10:32:01
Andi
Ich glaube jetzt habe ich den Fehler gefunden.
Meine Zellen sind Benutzerdefiniert als TT.MM formatiert. Ich denke mal, dass er es deswegen nicht finden kann. Wenn ich in deiner Tabelle das Umformatiere (auf TT.MM) - obwohl ein ganzes datum anfangs mit 01.01.2018 hinterlegt wurde, findet er bei dir auch nichts.
Kann man den Code umschreiben, dass es auf TT.MM funktioniert ?
Anzeige
AW: Vielleicht kannst du...
28.11.2018 11:01:15
Stefanie
Ja Andi, du hast recht. So ist es auch bei mir.
Hoffe Beverly weiß Rat.
In deinem Eröffnungsbeitrag...
28.11.2018 16:18:11
Beverly
Hi Stefanie,
...stand, dass du das Format TT.MM.JJJJ verwendest...
Versuche es so:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varZelle As Variant
If Target.Cells(1).Address(False, False) = "A1" Then
If Not IsDate(Target.Value) Then
varZelle = Application.Match(CDbl(DateValue("01." & Target.Value & ". " & _
Year(Date))), Rows(2), 0)
If IsNumeric(varZelle) Then
Application.Goto reference:=Cells(10, varZelle), scroll:=True
End If
Else
varZelle = Application.Match(CDbl(Target.Value), Rows(2), 0)
If IsNumeric(varZelle) Then
Application.Goto reference:=Cells(10, varZelle), scroll:=True
End If
End If
End If
End Sub

Ich bin davon ausgegangen, dass du als Datum das komplette Datum einschließlich Jahr eingibst, falls du ein Datum eingibst und nicht den Monatsnamen aus der Gültigkeitszelle auswählst.


Anzeige
AW: In deinem Eröffnungsbeitrag...
28.11.2018 17:37:25
Stefanie
Hey Beverly
super, genau das war die Lösung. War eine schwere Geburt und sorry nochmal für fehlerhafte informationen... Vielen vielen Dank für deine Hilfe...

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige