Hallo,
Situatie:
Ik heb op het tabblad "dashboard" een to do lijst, welke op basis van prioriteit middels VBA taken toont vanuit een tabblad "dbToDo". Op het moment toont deze alle prioriteiten met een minimale waarde van 1. In excel op mijn worksheet heb ik boven de takenlijst 5 checkboxjes geplaatst welke dezelfde waardes als de prioriteiten hebben. 1 - 2 - 3 - 4 - 5 welke standaard alle 5 zijn geselecteerd.
De situatie die ik wil creëren is dat de takenlijst niet standaard alle taken toont met een prio hoger dan 1, maar bekijkt welke checkboxen zijn aangevinkt en de betreffende taken toont.
Voorbeeld: checkbox2 en checkbox5 zijn aangevinkt. Toon dan enkel alle taken met prioriteit 2 en 5.
Ik zou het erg op prijs stellen als je de geadviseerde code kan toelichten zodat ik er weer van kan leren!
huidige code:
Alvast bedankt !
Situatie:
Ik heb op het tabblad "dashboard" een to do lijst, welke op basis van prioriteit middels VBA taken toont vanuit een tabblad "dbToDo". Op het moment toont deze alle prioriteiten met een minimale waarde van 1. In excel op mijn worksheet heb ik boven de takenlijst 5 checkboxjes geplaatst welke dezelfde waardes als de prioriteiten hebben. 1 - 2 - 3 - 4 - 5 welke standaard alle 5 zijn geselecteerd.
De situatie die ik wil creëren is dat de takenlijst niet standaard alle taken toont met een prio hoger dan 1, maar bekijkt welke checkboxen zijn aangevinkt en de betreffende taken toont.
Voorbeeld: checkbox2 en checkbox5 zijn aangevinkt. Toon dan enkel alle taken met prioriteit 2 en 5.
Ik zou het erg op prijs stellen als je de geadviseerde code kan toelichten zodat ik er weer van kan leren!

huidige code:
Code:
Function GetResults()
'Count number of rows on Tab dbToDO
NumOfRows = Worksheets("dbToDo").Range("A65536").End(xlUp).Row
'Declaring all Columns in the array
Const NaamKlant = 1
Const Item = 2
Const PersoonlijkeTaak = 3
Const Prio = 4
Const WeekNumStart = 5
Const WeekNumEnd = 6
Const WeekNumTrueStart = 7
Const WeekNumTrueEnd = 8
Const TotalTimeEst = 9
Const HoursPerWeek = 10
Const TrueHoursPerWeek = 11
Const Responsibility = 12
Const TaskDone = 13
Dim TaskPlotArray, TaskArray, PrioCheck As Variant
'Count all Tasks with priority assigned
For I = 2 To NumOfRows
If Worksheets("dbToDo").Range("D" & I).Value <> "" Then
PrioCount = PrioCount + 1
End If
Next
'Creating an array that has the same size as all usable results
ReDim TaskPlotArray(PrioCount, 6) As Variant
X = 0
'Fill Array with all available tasks
TaskArray = Worksheets("dbToDo").Range("A2:M" & NumOfRows)
For I = 2 To NumOfRows
If TaskArray(I - 1, Prio) >= 1 And TaskArray(I - 1, Prio) <> "" Then
TaskPlotArray(X, 0) = TaskArray(I - 1, TaskDone)
TaskPlotArray(X, 1) = TaskArray(I - 1, NaamKlant)
TaskPlotArray(X, 2) = TaskArray(I - 1, Item)
TaskPlotArray(X, 3) = TaskArray(I - 1, Prio)
TaskPlotArray(X, 4) = TaskArray(I - 1, HoursPerWeek)
TaskPlotArray(X, 5) = TaskArray(I - 1, TrueHoursPerWeek)
X = X + 1
End If
Next
If X - 1 > 26 Then
X = 26
End If
'Clearing current results
Worksheets("dashboard").Range("D3:I28").Clear
'Showing new results
For Y = 0 To X
For Z = 0 To 6
Worksheets("dashboard").Range(Chr(Z + 68) & Y + 3).Value = TaskPlotArray(Y, Z)
Next
Next
Erase TaskArray
Erase TaskPlotArray
'Sorting the results based on priority
Worksheets
Alvast bedankt !
Laatst bewerkt: