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

Venster scrollen naar datum en naastliggende cel selecteren

Status
Niet open voor verdere reacties.

anton44

Verenigingslid
Lid geworden
20 mei 2005
Berichten
1.597
Ik zoek een VBA oplossing om de datumkolom F:F de huidige datum te zoeken (staat in cel C5 van het voorbeeldbestand) en vervolgens de naastliggende cel
in kolom G:G selecteren.
Hierbij het venster te scrollen om de selectie zichtbaar te maken.

Graag hulp.
Bekijk bijlage Voorbeeld.xlsm
 
Code:
sub M_snb()
   application.goto sheets(1).columns(6).find(sheets(1).cells(5,3),,,1).offset(,1),true
End Sub
 
Snb, met dank.
Ik krijg een foutmelding
Zowel wanneer geplaatst als programmacode van het betreffende werkblad als in een module.
FS-2017-07-26_103032.jpg
 
Aanpassen mag je de code zelf.
 
Anton,

Je aangepaste datumnotatie is volgens mij de boosdoener. Als je de datumnotatie op "korte datumnotatie", moet dit wel werken.

Code:
Range("F:F").Find(What:=Date, LookIn:=xlValues).Offset(0, 1).Select
 
Laatst bewerkt:
Anton,

Je aangepaste datumnotatie is volgens mij de boosdoener. Als je de datumnotatie op "korte datumnotatie", moet dit wel werken.

Code:
Range("F:F").Find(What:=Date).Offset(0, 1).Select
SjonR, bedankt.
Ik weet met je tip geen weg. Het lijkt slechts een deel van een macro ?
M.i. kan een datumnotatie geen boosdoener zijn, het is een visuele presentatie van een serieel getal voor een datum.
 
Code:
Sub Excelbat()
Worksheets("opname").Range("F7:F317").Select
Selection.Find(What:=Range("C5").Value, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Offset(0, 1).Select
End Sub

En inderdaad celopmaak C5 aanpassen aan celopmaak F7:F317. Moet gelijk zijn !
En dan werkt de code van @SNB ook.

Greetz/Excelbat
 
Laatst bewerkt:
Zie bestand
 

Bijlagen

  • Voorbeeld.xlsm
    20,6 KB · Weergaven: 32
Code:
Sub Excelbat()
Worksheets("opname").Range("F7:F317").Select
Selection.Find(What:=Range("C5").Value, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Offset(0, 1).Select
End Sub

En inderdaad celopmaak C5 aanpassen aan celopmaak F7:F317. Moet gelijk zijn !

Greetz/Excelbat

Excelbat, met dank.
Maar nog steeds een foutmelding. Jammer.

FS-2017-07-26_154859.jpg
 
Zet de celopmaak van C5 en F7:F317 op: d-m-jjjj
Dan werkt het wel.

Greetz/Excelbat
 

SjonR & Excelbat:
Met het voorbeeldbestand in #9 werkt de code, geplaatst in This Workbook tot op zekere hoogte. De juiste cel wordt geselecteerd maar als ik de datum in cel C5 wijzig gaat het mis. Zelfs als cel C5 leeg maak gebruikt de code de huidige datum. m.a.w. het raadplegen van cel F5 wordt overgeslagen ??
 
Code:
Private Sub Workbook_Open()
Blad1.Select
Blad1.Range("F:F").Find(What:=Range("C5").Value, LookIn:=xlValues).Offset(0, 1).Select
End Sub

raadplegen van cel F5
Dat is toch gewoon een vaste waarde ????

Greetz/Excelbat
 
zo dan?

Maar als je =Vandaag() in C5 hebt staan, kan je toch net zo goed direct in de code naar vandaag verwijzen?
 

Bijlagen

  • Voorbeeld.xlsm
    26,8 KB · Weergaven: 34
Laatst bewerkt:
De datumopmaak blijkt essentieel te zijn voor het resultaat. Voor mij onbegrijpelijk aangezien het een visueel aspect is van een serieel getal.
De datumopmaak ddd dd-mm-jj is belangrijk in mijn model en met dit formaat werkt de aangeleverde macro niet. Jammer.
Ergo, ik ben er nog niet :confused:
 
Je kan toch in kolom E verwijzen naar F en dan de aangepaste eigenschappen op "ddd" zetten.
 
Je kan toch in kolom E verwijzen naar F en dan de aangepaste eigenschappen op "ddd" zetten.

Helaas in het echte model zijn geen extra kolommen beschikbaar.
Je zou natuurlijk in de macro na de "zoekroutine" de datumformaten kunnen aanpassen en bij het afsluiten weer terug, maar dat lijkt me de verkeerde weg om het probleem op te lossen.
Mij lijkt dat in de aangeleverde code er een modus voor de datum moet zijn die onafhankelijk is van het visuele formaat.
 
'T is wat

Code:
Sub M_snb()
   Application.Goto Sheet1.Cells(6 + [match(text(today(),"yyyymmdd"),text(F7:F60,"yyyymmdd"),0)], 7), -1
End Sub
of
Code:
Sub M_snb()
   Application.Goto Sheet1.Cells(6 + [match(text(C5,"yyyymmdd"),text(F7:F60,"yyyymmdd"),0)], 7), -1
End Sub
 
Blijft altijd lastig

Code:
Sub VenA()
  Application.Goto Cells(Application.Match([C5], Sheets(1).Columns(6), 0), 7), -1
End Sub
 
'T is wat

Code:
Sub M_snb()
   Application.Goto Sheet1.Cells(6 + [match(text(today(),"yyyymmdd"),text(F7:F60,"yyyymmdd"),0)], 7), -1
End Sub
of
Code:
Sub M_snb()
   Application.Goto Sheet1.Cells(6 + [match(text(C5,"yyyymmdd"),text(F7:F60,"yyyymmdd"),0)], 7), -1
End Sub

Code 2e variant getest waarbij ik het datumformaat gewijzigd heb in "ddd dd-mm-jj" = vereist formaat
Hierop komt een foutcode "Object vereist"
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan