• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Dropdown naar boven scrollen

Status
Niet open voor verdere reacties.

adile

Gebruiker
Lid geworden
2 mrt 2014
Berichten
202
Goedenavond,

Ik heb een dropdown menu gemaakt met als gegevens de datum van vandaag tot een jaar verder.
Dus wanneer ik op de dropdown klik dan verschijnt de datum van vandaag en kan ik naar beneden scrollen voor de dagen van de rest van het jaar.

Nu wil ik in deze dropdown dat ik ook een jaar terug kan scrollen.
Dus wanneer ik op de dropdown klik dat ik de datum van vandaag krijg, wanneer ik naar beneden scroll krijg ik de dagen van de rest van dit jaar en wanneer ik omhoog scroll de dagen die geweest zijn tot een jaar terug.

Is dit mogelijk? en zo ja wie kan mij hierbij helpen?

Gr Adile
 
Tuurlijk is dat mogelijk, als je in die lijst de dagen toevoegt. Je keuzelijst moet je een standaardwaarde geven (vandaag() dus) en dan zou hij, bij DropDown, twee kanten op moeten kunnen scrollen.
 
Het kan b.v. zo:
Maak een lijst van een jaar terug tot een jaar verder en plaats volgende code in het blad met je dropdown.
Code:
Private Sub Worksheet_Activate()
Dim cel As Range, bereik As Range
    Set bereik = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation)
        For Each cel In bereik
            If cel.Value = "" Then cel.Value = Date
        Next
End Sub
 
Of de lijst vullen door Vba; zoals ik het lees moet de lijst morgen een dag korter zijn dan vandaag.
Code:
Sub hsv()
Dim waarde As String, j As Long
For j = Application.EDate(Date, -12) To DateSerial(Year(Date), 12, 31)
  waarde = waarde & CDate(j) & ","
Next
   With Cells(1).Validation
        .Delete
        .Add xlValidateList, , , waarde
        .parent = date
   End With
End Sub
 
Laatst bewerkt:
Sorry vergeten aan te geven, maar het liefst gebruik ik geen VBA.

Ik gebruik gegevensvalidatie. in de bijgevoegde foto staat een voorbeeld.

J2 t/m J17 is mijn bron.
daarachter staan de formules die ik grbruikt heb om tot de datum te komen.

je ziet in de dropdown dat hij J2 als eerste gegeven neemt. maar ik wil dat hij J10 als eerste gegeven neemt.
 

Bijlagen

  • dopdown.jpg
    dopdown.jpg
    74,4 KB · Weergaven: 95
Het zal vast een leuk plaatje zijn, maar kan niet bewerkt worden.
 
Gegevensvalidatie werkt altijd van boven naar beneden, ook op een plaatje :). Dus je vraag kan je op deze manier nooit oplossen. Wat natuurlijk wél kan is de cel waarin je de gegevensvalidatie gebruikt de formule =vandaag() geven. Dan opent de lijst op vandaag.
 
En dan wil je elke keer bij het afsluiten de formule plaatsen na een wijziging in de validatie?
 
Wij weten niets van de toepassing af en hoe TS die lijst gebruikt/gaat gebruiken. Dus voorlopig hou ik mij niet bezig met oplossingen waar niet om gevraagd wordt, lijkt mij zonde van de tijd en energie :).
 
Een dropdown menu met datums vind ik altijd een beetje overbodig.
Stel dat het helemaal lukt zoals jij het voorstelt en je wilt vandaag (15-2-18) de datum van 15-2-17 selecteren.

De dropdown menu wordt geopend en je moet 365 regels naar boven scrollen om 15-2-17 te selecteren.
Als je er langzaam doorheen scrolt dan duurt het lang.
Ga je er snel doorheen gaat dan bestaat de kans dat je er voorbij gaat en je weer terug moet en duurt het dus ook lang.
Je krijg er zo wie zo een lamme vinger van.

Gewoon 15-2-17 intikken gaat 100 x zo snel
Dus waarom zou je een dropdown menu gebruiken?
 
Allen dank voor alle input,

Ik heb dit nodig omdat ik niet wil dat er andere data ingevuld kan worden in de cel dan de gegevens in de dropdown.
wanneer je de datum van vandaag neemt en later, kun je nooit de datum van gisteren invoeren.

vandaar deze vraag.
 
wanneer je de datum van vandaag neemt en later, kun je nooit de datum van gisteren invoeren.
Probeer je nu onze hersenen in overload te zetten? Wat is dat nu weer voor opmerking? Om niet te zeggen: onzin?
 
Je kan de validatie op Datum zetten i.p.v. Lijst bij 'Toestaan'.

Begindatum: =vandaag()
Einddatum: =zelfde.dag(vandaag();12)

Zo kan je nooit een datum invullen die kleiner dan vandaag is.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan