kalender opmaak met feestdagen en kleuren VBA

Status
Niet open voor verdere reacties.

Flightcase

Gebruiker
Lid geworden
11 feb 2013
Berichten
133
Beste,


Ik ben op zoek naar een code in VBA om een agenda te maken.
Voorlopig post ik enkel een deel van de opmaak. (zie bijlage)

In de bijlage vind U een type opmaakt van mijn agenda.

Ik zoek een automatische handeling dat mij een maandoverzicht invult (in Kolom A "startend" in cel A8) bvb van 1-12-2013 tem 31-12-2013 wanneer ik in cel B3 de desbetreffende maand ingeef. (bvb December)
In cel B2 noteer ik best het jaar bvb 2013 .

Voor de weekenddagen zou VBA de cellen grijs dienen te kleuren zoals in het voorbeeld (aub niet met voorwaardelijke opmaak want dan kan ik de kleur vd cellen niet meer wijzigen zonder de regels eerst te moeten wissen)
Voor feestdagen en inhaalrustdagen een andere kleur.

Steeds de rijen te kleuren zoals in de aangegeven manier. De grijze kolom E heeft een andere functie en mag daarom niet mee gekleurd worden.

In het 2e tabblad staan steeds alle verlof en inhaal rust dagen vermeld voor 2 jaar, het 3e jaar is steeds informatief . Daar dient men geen rekening mee te houden.
achteraf is het met de bedoeling dat ik op deze plaats alle datums actualiseer.

D.w.z. dat VBA op de eerste tabblad steeds een andere lay-out/ maand automatisch dient op te maken, rekening houdend met weekends -en verlofdagen vh desbetreffend jaar.

Volgens mij is dit voor een ervaren programmeur een makkie, maar ga er zelf nooit aan uit geraken vrees ik.

Er zijn gelijkaardige voorbeelden met voorwaardelijke opmaak maar ik zoek voor deze toepassing best iets in VBA vermoed ik.

Elke hulp wordt geapprecieerd.

Bekijk bijlage Agenda.xlsx

Mvg,

Prettige feestdagen aan iedereen!!!!!!!!!!!!!!!!!!!!
 
Laatst bewerkt:
Bedankt voor deze snelle feedback. Met acces heb ik nagenoeg geen enkele ervaring. Met VBA heb ik wel al enkele dingen gedaan en met Excel wat meer. Dit zou mij opnieuw vh begin doen starten ;)
 
Dag Flightcase !

Probeer het bestand in bijlage eens.
Ga naar de sheet "TEMPLATE" , vul jaar en maand in (numerieke invoer !) en klik op de knop.

Grtz,
MDN111.
 

Bijlagen

Laatst bewerkt:
Wohw MDN111 dat is PRECIES! wat het moest doen. Zelf had ik die code opstelling NOOIT gevonden gekregen :-). Het is zeer knap gedaan!!!!! Hier kan ik zeker verder aan werken. Heel fel bedankt en nog een succesvol 2014 voor jouw!!!!
 
beste,

Ik probeer nu een eenvoudige code toe te voegen maar op een of andere manier doet hij het niet. Mag ik deze vraag hier stellen omdat het een uitbreiding is op deze code aub?
In VBA werkt het "enkel" als ik op de nieuw gemaakte maand sta en de code lanceer vanuit Module 1 ( en "enkel" deze code lanceer).
Wanneer ik het dit via de Macro knop de volledige code lanceer doet hij het niet. Ik zie iets eenvoudig over het hoofd vrees ik.


code:

Code:
Sub Hiderows()
 Dim c As Range
 Application.ScreenUpdating = False
 For Each c In Range("A12:A72")
 If c.Value = "" Then
 c.EntireRow.Hidden = True
 Else
 c.EntireRow.Hidden = False
 End If
 Next c
 End Sub
 
Laatst bewerkt door een moderator:
Zo te zien wil je een aantal rijen verbergen als er geen waarde in de eerste cel staat, maar kan je iets duidelijker zijn? Wil je rijen in de sheet met de nieuw gecreëerde maand verbergen en hoe heb je uw nieuwe code geïntegreerd ? Misschien bijlage toevoegen ?

Grtz,
MDN111.
 
Dag MDN111 , omdat ik niet graag opgeef met zoeken heb ik de oplossing nog maar net gevonden. Het enige dat ik diende te doen is deze code oproepen dmv de "Call Sub" functie om deze te integreren in jouw code. Ik was een tijdje niet meer bezig met VBA, maar zo eenvoudig was het dus :o. Sorry voor dit ongemak. IK zal deze vraag voorlopig als gesloten beschouwen en dank je nogmaals voor het puike werk dat je geleverd hebt! Jij bent gewoon geweldig! Thnx
 
Dag MDN111, bij het testen van de verlof dagen in 2013 stelde ik vast dat het enkel rekening houd met de verlofdagen van 2014. Ik zou over een bijkomende invoertabel dienen te beschikken voor 2013.
Ik heb de GetTypeOfDay functie zelf proberen te dupliceren en een bijkomende tabblad te creëren, maar dat geeft dubbelzinnigheden. Het beste staan op het tabblad "VERLOFDAGEN" (alles op 1 blad) ook de verlofdagen van 2013 bovenaan.
Ik weet niet of het te veel gevraagd is :confused:

ik krijg dit zomaar niet aangepast.

Erg bedankt .
 
Laatst bewerkt:
Dag Flightcase !

Je zit op het verkeerde spoor. Om de tabbladen voor de maanden van andere jaren te genereren is het niet nodig om de macro aan te passen. De macro werkt voor alle jaren. D.w.z. er wordt een sheet gegenereerd voor de maand waarvan je de gegevens in de template hebt ingevuld. Het scenario zit als volgt in elkaar:

  • Invullen van jaar en maand in de cellen B2 en B3 van de Template (jaar = 4 cijfers, maand = 1 tot 12).
  • Klik op de knop om de macro te starten.
  • Creatie van een nieuwe sheet met als naam: yyyy-m of yyyy-mm, naargelang het geval.
  • Aanvullen van de datums van die maand.
  • Kleuren van de cellen. Als een datum van de maand gevonden wordt in de sheet "Verlofdagen", dan wordt de overeenkomstige rij gekleurd.
Om de maanden van het jaar 2013 op de gepaste wijze te genereren, volstaat het om de sheet "Verlofdagen" aan te vullen met de afwezigheidsdagen van 2013 volgens het gepaste formaat. De voorwaarden staan in 't rood vermeld onder de tabel. Als je bijvoorbeeld de afwezigheidsdagen van 2015 zou invoeren in de sheet "Verlofdagen", dan kun je ook de maanden van 2015 op die wijze creëren, of die van 2016, enz...

Grtz,
MDN111.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan