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

Macro naar datum vandaag lukt niet

Status
Niet open voor verdere reacties.

Boelie72

Gebruiker
Lid geworden
12 mei 2009
Berichten
22
Vele oplossingen hier gevonden maar ze willen niet helpen.

Ik heb een urenregistratie gemaakt met per werknemer een tabblad. op elke tabblad staan de maanden waar hun de uren in kunnen vullen. Soort kalender. Waar de datums in kolom A staan. Als het nu bijv december is moet men helemaal naar beneden scrollen. Nou zoek ik een mogelijkheid om op een knop te drukken 'ga naar vandaag' met behulp van een macro. Zodat deze datum geselecteerd wordt. Wat is hier de juiste code voor. Zoals ik al zei, al veel geprobeerd. Maar de één zoekt in een rij de ander vult juist de datum in. De datum staat op lange datum notitie.
Wie kan mij helpen.
 
Zij kunnen uren invullen nadat:

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  application.goto sh.cells.find(date),true
End Sub
 
Laatst bewerkt:
uren.jpg

Hoop dat je hier wat aan hebt. Het bestand zelf is ingevuld en staan namen bij.
 
Zij kunnen uren invullen nadat:

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  application.goto sh.cells.find(date),true
End Sub

Deze plaats ik dus niet onder knop maar hij springt naar de datum als de sheet wordt geopend?
 
Krijg een fout melding, onjuist argument.

Misschien moet ik even melden dat men het bestand opent met een snelkoppeling, dan een hoofdmenu krijgt, daar kiest of ze partime of vaste medewerkers zijn. dan krijgen ze een lijst namen. daarna komen ze in een uren lijst. Dit heb ik gedaan omdat er veel types zijn hier die de ballen van excel snappen. zo kan het dus niet mis gaan met invullen.

Daarom zou het het mooiste zijn als het via een knop kan. Nu gaat de code ook alle andere sheets bij langs volgens mij. ik wil het bestand wel in een pb doen als dat mogelijk is.
 
Beste,

Kopieer deze code in een module en "hang" deze code vast aan een knop :
Code:
Sub ZoekDatum()
Dim c As Range
Set c = Columns(1).Find(Date, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "datum niet gevonden"
Else
c.Select
End If
End Sub
 
Beste,

Kopieer deze code in een module en "hang" deze code vast aan een knop :
Code:
Sub ZoekDatum()
Dim c As Range
Set c = Columns(1).Find(Date, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "datum niet gevonden"
Else
c.Select
End If
End Sub

Bedankt,

Hij geeft als resultaat datum niet gevonden. Systeem heeft datum wel goed staan. Moet in de cel misschien korte datumnotatie staan?
 
Beste,

Weet ik niet maar met de notatie dd/mm/jjjj functioneert het in de versie 2007.
 
Hoi,
Weet het ook niet, ik val hier maar tusen maar met macro's mischien dd/mm/yyyy
groet
 
Beste,

Start de macro vanuit VB-editor met F8. Doorloop de code met F8. Beweeg de cursor naar de regel "If c is Nothing" in de buurt van c. De waarde van c zou moeten verschijnen.
 
Thanks dat was het. hij moet dus op korte datum notatie staan.

Geweldig geholpen!
 
Volgens mij maakt onderstaand geen onderscheid in notatie.
Code:
Set c = Columns(1).Find(Date, , xlFormulas, xlWhole)
 
Volgens mij maakt onderstaand geen onderscheid in notatie.
Code:
Set c = Columns(1).Find(Date, , xlFormulas, xlWhole)

Harry, heb het net geprobeerd met lange datum notatie dan zegt ie weer geen datum gevonden. Op zich zou dat wel het mooiste zijn dat de dag er bij staat. Ik heb als datum notatie 'Vrijdag 8 januari 2016'
 
Even een testje voor je gemaakt.
Bij mij staat in elke cel 8-1-2016 → formulebalk.
Laat de code een keer lopen, en als het is gevonden verwijder je die cel even.
Doe dit eens voor elke cel.
 

Bijlagen

Ah Harry daar zit de fout idd. Ik heb bij elke eerste dag van de maand een datum staan, maar in de volgende cel "=SOM(A5+1)" omdat ik niet weet hoe ik anders automatisch kan doortellen. Nu hoef ik alleen bij elke eerste van de maand maar de datum te veranderen. dus de code leest idd de datum niet. Weet jij hoe ik dit anders kan doen?
 
Plaats eens een excel voorbeeldje. Je heb een nogal ongebruikelijke datumnotatie in het plaatje staan. Mogelijk dat daardoor de aangereikte oplossingen niet werken.
 
Laatst bewerkt:
Plaats eens een excel voorbeeldje. Je heb een nogal ongebruikelijke datumnotatie in het plaatje staan. Mogelijk dat daardoor de aangereikte oplossingen niet werken.

hier een klein voorbeeldje van 1 sheet. De rode 1e datum van elke maand kan ik dus ingeven zodat elke datum daaronder veranderd. De datum heb ik normaal staan op lange notatie
 

Bijlagen

Voor de lange notatie. #vrijdag 8 januari 2016#

Code:
Set c = Columns(1).Find(Format(Date, "dddd d mmmm yyyy"), , xlValues, xlWhole)

Ps. de formules in de cel hoeven niet met de =som(A11+1), maar =A11+1 is genoeg.
 
Voor de lange notatie. #vrijdag 8 januari 2016#

Code:
Set c = Columns(1).Find(Format(Date, "dddd d mmmm yyyy"), , xlValues, xlWhole)

Ps. de formules in de cel hoeven niet met de =som(A11+1), maar =A11+1 is genoeg.

Sorry, heb het geprobeerd maar ik krijg steeds de melding 'datum niet gevonden'. in de datumnotatie aangepast staat trouwens "dddd, mmmm dd, yyyy" . heb dit ook geprobeerd maar dat werkt ook niet. Het zal wel niet willen met lange datum notatie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan