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

Taakverdeling

Status
Niet open voor verdere reacties.

JoaoFrancisco

Gebruiker
Lid geworden
13 jan 2012
Berichten
85
Beste,

Voor een club met ± 50 leden dienen we ieder jaar een taakverdeling op te maken.
De taken zijn genummerd en in de kolommen achter de namen wordt een nummer geplaatst. Zodoende kunnen de leden via de taken zien wat van hen verwacht wordt.

Dit is nogal omslachtig en daarom heb ik in de daaropvolgende kolommen de taken zichtbaar gemaakt met Vert.zoeken. zie voorbeeld.

Zou het eventueel ook kunnen als
1. je op een naam klikt de desbetreffende taken zichtbaar worden in een opmerking of iets dergelijks.
2. indien je op een taak klikt je de namen krijgt van diegenen die aangeduid werden.


Vriendelijke groeten,

Jan
 

Bijlagen

hallo Jan ,
noottekst automatisch aanpassen gaat met vba, is dat een probleem ?
anders moet je een opsomming maken in een cel ernaast of zo.
 
Beste,

Alvast bedankt voor de snelle reactie.
Alhoewel mijn kennis in VBA niet zo groot is mag dat. Oplossing in een andere cel, rij of kolom mag natuurlijk ook.

Mijn voorbeeld is summier, het gaat over meer dan 50 mensen en wel 30 taken.

Vriendelijke groeten,

Jan
 
Volgens mij mis ik een datum in dit voorbeeldbestand.

Met een dubbelklik in de groen gemarkeerde cellen krijg je een melding. Om het geheel dynamisch te maken kan je denk beter een gestructureerde data-opzet maken. De code is nu een beetje afgebakend op het voorbeeldje. En dus een beetje lang.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A2:A5,B9:B18")) Is Nothing Then
Cancel = -1
Dim j As Long, jj As Long, ar
ar = Cells(1).CurrentRegion.Resize(, 10)
    Select Case Target.Column
        Case 1
        c00 = Target & vbLf & vbLf
        For j = 7 To UBound(ar, 2)
            If ar(Target.Row, j) <> "" Then c00 = c00 & Format(ar(1, j), "(hh:mm) ") & ar(Target.Row, j) & vbLf
        Next j
        MsgBox c00
        Case 2
            c00 = Target & vbLf & vbLf
            For j = 1 To UBound(ar)
                For jj = 1 To UBound(ar, 2)
                    If ar(j, jj) = Target Then c00 = c00 & ar(j, 1) & Format(ar(1, jj), " (hh:mm)") & vbLf
                Next jj
            Next j
            MsgBox c00
    End Select
End If
End Sub
 

Bijlagen

Beste,

Super bedankt voor de snelle reactie.
Werkt zoals het moet en zoals gevraagd.
Heb nog wel een paar vraagjes:
1. Er mag een datum ingebracht worden
2. Wat bedoel je met: "een gestructureerde data-opzet" ?
3. Wat bedoel je met:" De code is nu een beetje afgebakend op het voorbeeldje. En dus een beetje lang."?
4. Kan er in het berichtje een spatie komen tussen de naam en de tijd en de tijd en de taak?

Vriendelijk groeten,

Jan
 
Laatst bewerkt:
Vragen staat vrij;)

1. Heb ik in het voorbeeldje gedaan zie de tab 'Database'
2. Heb ik in het voorbeeldje gedaan zie de tab 'Database'
3. Je hebt nu twee tabellen waarmee iets moet gebeuren bij een dubbelklik. Als je alles in één tabel zet kan je het zonder code afhandelen dmv een paar draaitabellen. (zie de tab
'Rapportage')
4. Dit gebeurt al dmv
Code:
Format(ar(1, j), "(hh:mm) ") en Format(ar(1, jj), " (hh:mm)")
Als dit optisch niet genoeg is mag het geheel naar eigen smaak aangepast worden.

Als je weinig van VBA weet probeer dan altijd eerst een oplossing te vinden in de ongekend krachtige functionaliteiten die al in Excel ingebakken zijn. Kost soms even een andere aanvliegroute:d
 

Bijlagen

Super bedankt voor je antwoorden en de prima oplossingen.

Toch nog een klein vraagje.
In mijn voorbeeld gaat het om 4 kolommen, kan dit uitgebreid worden naar 6?

Vriendelijke groeten,

Jan
 
Als de opzet is zoals in de tab 'test'

Code:
ar = Cells(1).CurrentRegion.Resize(, [COLOR="#FF0000"]14[/COLOR])

Code:
For j = [COLOR="#FF0000"]9[/COLOR] To UBound(ar, 2)
 
Nogmaals super bedankt.

In de tab test werkt alles zoals het hoort, maar in de tabs Database en Rapportage geeft het alles weer zoals het was met 4 kolommen.
Misschien heb ik het verknoeit in de VBA?

Kan daar nog iets aan gedaan worden?

Vriendelijke groeten,

Jan
 

Bijlagen

Bestudeer het bestandje eens goed. En lees de reactie in #6 eens.
 
Ik ben er mij van bewust dat in Excel ongekend krachtige functionaliteiten ingebakken zijn. Heb wel de indruk dat ik er al veel van ken maar een specialist ben ik verre van.
Ben al uren met het bestand bezig geweest maar ik kom er maar niet uit. Nu ik dit zie zou ik er erg graag meer over willen weten.
Graag een beetje uitleg.

Bedankt voor al wat je al gedaan hebt.

Vriendelijke groeten,

Jan
 
Heb wel de indruk dat ik er al veel van ken
is een algemene misvatting;)

Zelf zit ik denk ik op zo'n 10% van de mogelijkheden.

Stel of concrete vragen of gebruik het www om antwoord te vinden op de niet gestelde vragen.
 
En ik die dacht hier een antwoord te vinden op een oplossing die je zelf hebt gegeven.

Toch bedankt.

Met vriendelijke groeten,

Jan
 
Beste,

Heb mijn oorspronkelijk voorbeeld aangepast zoals het zou moeten zijn, maar...

De dubbelklik in de groen gemarkeerde cellen van de taken doet het niet meer.

Kan je de VBA eens nakijken?

Vriendelijke groeten,

Jan
 

Bijlagen

Dat komt omdat er fouten in rij 27 staan. Het rode heb ik aangepast/toegevoegd.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("[COLOR="#FF0000"]A2:A59,B61:B90[/COLOR]")) Is Nothing Then
Cancel = -1
Dim j As Long, jj As Long, ar
ar = Cells(1).CurrentRegion.Resize(, 14)
    Select Case Target.Column
        Case 1
        c00 = Target & vbLf & vbLf
        For j = 9 To UBound(ar, 2)
            If ar(Target.Row, j) <> "" Then c00 = c00 & Format(ar(1, j), "(hh:mm) ") & ar(Target.Row, j) & vbLf
        Next j
        MsgBox c00
        Case 2
            c00 = Target & vbLf & vbLf
            For j = 1 To UBound(ar)
                [COLOR="#FF0000"]On Error Resume Next[/COLOR]
                For jj = 1 To UBound(ar, 2)
                    If ar(j, jj) = Target Then c00 = c00 & ar(j, 1) & Format(ar(1, jj), " (hh:mm)") & vbLf
                Next jj
            Next j
            MsgBox c00
    End Select
End If
End Sub
 
Beste,

Super bedankt voor je hulp. :thumb: Fouten in rij 27 heb ik gewijzigd.

Rest mij nu nog de draaitabel onder de knie te krijgen, zal niet gemakkelijk zijn.

Vriendelijke groeten,

Jan
 
Beste,

Heeft er iemand een idee waar ik goede informatie kan vinden om de geheimen van een draaitabel te kunnen doorgronden?

Alvast bedankt.

Vriendelijke groeten,

Jan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan