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

Kalenderfunctie

Status
Niet open voor verdere reacties.

Chocka

Gebruiker
Lid geworden
6 jun 2004
Berichten
151
Bestaat er binnen excel een functie waarbij ik op basis van datum aan de weeknummers kan komen en de betreffende maand:

plat voorbeeld

datum week maand
01 mei 2006 18 mei
02 juni 2006 22 juni

de uitkomst van week en maand ontstaan dmv een functie indien mogelijk
 
Voor de Week:

Code:
Function IsWeek(Dt As Date) As Integer

Dim T As Long

If IsDate(Dt) Then
    T = DateSerial(Year(Dt + (8 - Weekday(Dt)) Mod 7 - 3), 1, 1)

    IsWeek = ((Dt - T - 3 + (Weekday(T) + 1) Mod 7)) \ 7 + 1
End If
End Function

Voor de Maand, cell eigenschappen format op mmmm zetten (maand in tekst) en de functie Month/Maand geberuiken
 
Laatst bewerkt:
voor maand is mij duidelijk, maar voor week begrijp dat dit alleen mogelijk is met een macro??? Is hiervan ook een NL versie, want ik werk met NL versie en denk niet dat EN versie past in de NL versie.
 
Zou kunnen dat er ook een ingebouwde functie is of trukje, maar ik ben lui en schrijf het liever zelf ;)

De macro werkt in Ned en Eng versie Exact hetzelfde (VBA is Er niet in een Nederlandse smaak)
open de VBa editor (linker ALT-F11)
kies in menu Invoegen voor module en plak de code in het lege blad.
sluit de editor. en sla je bestand op.

Type =IsWeek( in een cel en klik op de cel met de datum en typ er een ) achter.
druk op enter en voilá
 
maand is wel duidelijk, maar functie doet het niet???

1-1-2006 januari functie: =maand(a1)
1-2-2006 januari functie: =maand(a2)
4-3-2006 januari functie: =maand(a3)

??? ik zal verwachten dat ik resp, januari; februari en maart zal krijgen, maar excel 3x januari ???
 
Ik Zie het!....Bizar... het probleem zit in de opmaak zodra je de cellen standaard opmaakt zie je wel 1, 4 en dergelijke.

Even Geduld A.U.B.
 
Zowietzzz...

Code:
Function MaandTekst(Dt As Date) As String

Dim Arr() As String

If IsDate(Dt) Then
    Arr = Split("januari,februari,maart,april,mei,juni,juli,augustus,september,oktober,november,december", ",")


    MaandTekst = Arr(Month(Dt) - 1)
End If
End Function

gewoon onder de vorige plakken.
 
OK heb zeker geduld. Ben intussen de macro en functie's in het bestand aan het zetten, maar ook dat wil niet echt lukken. Heb geen idee waar dit fout gaat, want mijn VBS ervaring is maar zeer minimaal. Zie ZIP
 

Bijlagen

het ging bijna goed... je hebt inmiddels het maandprobleem ook opgelost zag ik.
Je moet wel de beveiliging van macro's op gemiddeld zetten omdat macro's standaard worden uitgeschakeld.
(Menu Extra->Macro->Beveiliging)

Bestand aangepast:
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan