rij met volgende chronologisch item bovenaan plaatsen

littlepete

Well-known Member
Joined
Mar 26, 2015
Messages
507
Office Version
  1. 365
Platform
  1. Windows
hallo,

ik heb een adressenlijst-agenda met alle gegevens van familie en vrienden.
de zes eerste kolommen zijn zichtbaar en vullen het scherm. de kolommen g tot en met by bevatten alle courante gegevens...
telkens naast de kolom van geboortedatum, overlijdensdatum, trouwdatum, ... staat een kolom die de datum in getal weergeeft: geboren op 19/4 wordt zo 04191;
overleden op 17 maart 2020 is dan 03173...

filteren en sorteren lukt prima, maar de gevraagde lijsten (bv. alle overlijdens in april,alle trouwdata in augustus,...) zijn steeds langer dan het scherm. en bovenaan
het scherm staat steeds het eerste item van de gevraagde maand.

hoe kan ik de lijst verschuiven zodat de eerst zichtbare rij bovenaan een item van vandaag of de eerstvolgende dagen is?
 

Excel Facts

Format cells as time
Select range and press Ctrl+Shift+2 to format cells as time. (Shift 2 is the @ sign).
Voeg een extra filter toe (>=vandaag in format: mmdd)
 
Upvote 0
Voeg een extra filter toe (>=vandaag in format: mmdd)
als ik een nieuwe macro maak:

sub
voer macro opvragen lijsten uit
extra filter: ...
end sub

dan moet daar dus een lijn achter komen? de kolom met de datumcodes (19 apr, geb. = 04191) staat in kolom BH ...
thx voor de hulp :) !
 
Upvote 0
Kan ook met het Autofilter. De kolom selectie bepaalt a.d.h.v. de cellen [maand] en [soort datum] welke rijen aan de voorwaarden voldoen.
Map1
ABCDEFGHI
1naamgeb_datumdatum1trouwdatumdatum2SelectieMaandSoort datum
2fx02284y02284ONWAAR3datum2
3ex03067y03067WAAR
4bx03054y05054ONWAAR
5ax04155y04155ONWAAR
6dx11259y11259ONWAAR
7cx01157y01157ONWAAR
Blad1
Cell Formulas
RangeFormula
F2:F7F2=AND(LEFT(TEXT(INDIRECT(ADDRESS(ROW(),MATCH($I$2,$A$1:$E$1,0),4)),"00000"),4)>=TEXT(TODAY(),"mmdd"),LEFT(TEXT(INDIRECT(ADDRESS(ROW(),MATCH($I$2,$A$1:$E$1,0),4)),"00000"),2)=TEXT($H$2,"00"))


Excel Formula:
=EN(LINKS(TEKST(INDIRECT(ADRES(RIJ();VERGELIJKEN($I$2;$A$1:$E$1;0);4));"00000");4)>=TEKST(VANDAAG();"mmdd");LINKS(TEKST(INDIRECT(ADRES(RIJ();VERGELIJKEN($I$2;$A$1:$E$1;0);4));"00000");2)=TEKST($H$2;"00"))
 
Upvote 0
iemand een vba oplossing om via de kolom BH te scrollen naar de eerstvolgende rij met datum vandaag of in de toekomst? (datumformaat: mmddx waar x staat voor 1. geboorte, 2. huwelijk ...
bedankt voor de hulp :) !
 
Upvote 0
Neem aan dat er al gefilterd en gesorteerd is.
Wat staat er precies in kolom BH? Datumformaat: mmddx bestaat niet. Getalformaat met voorloopnul? Of is het een tekst?
Staat ook ergens in een cel het cijfer waarop gefilterd is? Bijv een 1 als je een geboortedatum zoekt.
 
Upvote 0
Neem aan dat er al gefilterd en gesorteerd is.
Wat staat er precies in kolom BH? Datumformaat: mmddx bestaat niet. Getalformaat met voorloopnul? Of is het een tekst?
Staat ook ergens in een cel het cijfer waarop gefilterd is? Bijv een 1 als je een geboortedatum zoekt.
hallo :)
de kolom bh wordt als volgt samengesteld: als geboortes worden opgevraagd wordt de geboortedatum (bv. 19/4/1961) gekopieerd naar
de kolom bh als 0419, én daar wordt een 1 (cijfer voor geboortes) aan toegevoegd: 04191 dus.
als alle rijen zijn doorlopen en alle geboortedatums werden gekopieerd naar kolom bh wordt deze gefilterd op alleen ingevulde cellen, en
gesorteerd van klein naar groot : 01311 komt voor 04191 ...
dat werkt prima: maar altijd wordt de allereerste rij geactiveerd, terwijl ik probeer om te schuiven tot de eerste "datum" in de kolom bh
de datum van vandaag is of later...
thx voor de hulp :) !
 
Upvote 0
VBA Code:
Sub scrolltoday()
    Dim searchdate As String
    Dim rng As Range
    Set rng = Range("BH:BH")
    searchdate = Format(Date, "mmdd") & "0"
    a = Application.Match(Val(searchdate), rng, 1)
    If Not IsError(a) Then
            ActiveWindow.ScrollRow = rng(a + 1).Row
    End If
End Sub
 
Upvote 0
VBA Code:
Sub scrolltoday()
    Dim searchdate As String
    Dim rng As Range
    Set rng = Range("BH:BH")
    searchdate = Format(Date, "mmdd") & "0"
    a = Application.Match(Val(searchdate), rng, 1)
    If Not IsError(a) Then
            ActiveWindow.ScrollRow = rng(a + 1).Row
    End If
End Sub
heb dit geprobeerd maar er gebeurt absoluut niets... de actieve cel blijft de eerst zichtbare cel bovenaan in de eerst zichtbare kolom...
ik denk dat het probleem in de & "1" zit... het getal achter de datum (0419...) is niet altijd 1 (voor geboortes) maar dat kan ook 2 3 4 5 of 6 zijn...
 
Upvote 0
Daarom zoek ik ook naar mmdd0. Die bestaat niet.
Vervolgens wordt er dan gekeken naar een waarde die kleiner is (want de kolom is van laag naar hoog gesorteerd andersom was iets makkelijker).
En vervolgens wordt naar een waarde daaronder gekeken.
 
Upvote 0

Forum statistics

Threads
1,223,922
Messages
6,175,382
Members
452,639
Latest member
RMH2024

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top