Vraag:
Ik heb de EmployeeName, de HolidayStart en de HolidayEnd in een werkblad. Hoe kan ik de vakantiedagen van elke medewerker inkleuren in de volgende maandbladen?
Antwoord geven:
Voer de volgende code in met XL5/7 in een moduleblad, met XL8 in een algemene module, wijs deze toe aan een knop en voer deze uit.
Plaats onderstaande code in de standaard module
Sub NewVacation() Dim rngFind As Range Dim intRow As Integer, intMonth As Integer, intCounter As Integer intRow = 3 Do Until IsEmpty(Cells(intRow, 1)) For intMonth = Month(Cells(intRow, 2)) To Month(Cells (intRow, 3)) Stel rngFind = Worksheets in (Format(DateSerial(1, intMonth, 1), "mmmm")). _ Columns(1).Find _ (Cells(intRow, 1), LookIn:=xlValues, lookat:=xlWhole) If intMonth = Month(Cells(intRow, 2)) And intMonth = _ Month(Cells(intRow, 3) ) Dan For intCounter = Day(Cells(intRow, 2)) To Day(Cells(intRow, 3)) rngFind.Offset(0, intCounter).Interior.ColorIndex = 3 Next intCounter ElseIf intMonth = Month(Cells(intRow, 2 )) Dan For intCounter = Day(Cells(intRow, 2)) To Day(DateSerial _ (1, Month(Cells(intRow, 2)) + 1, 0)) rngFind.Offset(0, intCounter).Interior.ColorIndex = 3 Volgende intCounter Else For intCounter = 1 To Day(Cells(intRow, 3)) rngFind.Offset(0, intCounter).Interior.ColorIndex = 3 Next intCounter End If Next intMonth intRow = intRow + 1 Loop End Sub