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

Checkbox in excel update todolist VBA

Status
Niet open voor verdere reacties.

DocM3

Nieuwe gebruiker
Lid geworden
4 aug 2010
Berichten
4
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:

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:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan