Beste VBA-leden,
Recent postte ik een vraag op het Excel gedeelte : "In Excel 2010, ik heb twaalf tabbladen aangemaakt, zijnde de twaalf maanden (Jan-Dec) van het jaar. Mijn kolommen A en B, zijnde de lijst van personeelsleden Voornaam en Naam. Op elk van die sheets staat bovenaan de dag van de maand (1 tot 31), vanaf kolom C tot AG. Zo bekom ik een rooster en per persoon staat per dag een celinhoud (vaak met comments), zoals V voor verlof of Z als ze ziek zijn, enz.
Nu wil ik op het dertiende tabblad een dagplanning opstellen voor diezelfde personeelsleden die telkens het juiste tabblad selecteert, door in de cel C1 via een dropdown menu de maand in te vullen (Jan tot Dec, de namen van de tabbladen feitelijk) en de juiste dag, door in de cel B1 een cijfer van 1 tot 31 in te vullen. Dan zou Excel automatisch die kolomgegevens moeten selecteren en kopiëren naast de juiste namen op dat dertiende tabblad, vb. vanaf cel C5 en naar beneden tot vb. C16 als ik twaalf medewerkers heb."
Plongske hielp mij met een formule fantastisch goed vooruit (INDIRECT, zie voorbeeldbestand in bijlage), maar gaf aan dat voor een specifieke wens hierbij wat VBA nodig was.
Ik zou namelijk graag ook comments in de maandplanning meenemen naar de dagplanning en die comments in de cel zelf plaatsen in kolom D Detail van de dagplanning. De identiteit van de auteur moet aanwezig zijn in de maandplanning zodat ik zie wie de comment toegevoegd heeft, maar mag niet meer zichtbaar zijn in de kolom D Detail.
Ik zou met wat gepruts volgende code en formule kunnen gebruiken, maar ik hoop dat er iemand een voorzet kan geven naar een iets meer euh... sexy manier om dat te doen.
en
Alvast bedankt voor de aandacht die u aan mijn vraag wil besteden,Bekijk bijlage Nieuwe gecomprimeerde (gezipte) map.zip
Recent postte ik een vraag op het Excel gedeelte : "In Excel 2010, ik heb twaalf tabbladen aangemaakt, zijnde de twaalf maanden (Jan-Dec) van het jaar. Mijn kolommen A en B, zijnde de lijst van personeelsleden Voornaam en Naam. Op elk van die sheets staat bovenaan de dag van de maand (1 tot 31), vanaf kolom C tot AG. Zo bekom ik een rooster en per persoon staat per dag een celinhoud (vaak met comments), zoals V voor verlof of Z als ze ziek zijn, enz.
Nu wil ik op het dertiende tabblad een dagplanning opstellen voor diezelfde personeelsleden die telkens het juiste tabblad selecteert, door in de cel C1 via een dropdown menu de maand in te vullen (Jan tot Dec, de namen van de tabbladen feitelijk) en de juiste dag, door in de cel B1 een cijfer van 1 tot 31 in te vullen. Dan zou Excel automatisch die kolomgegevens moeten selecteren en kopiëren naast de juiste namen op dat dertiende tabblad, vb. vanaf cel C5 en naar beneden tot vb. C16 als ik twaalf medewerkers heb."
Plongske hielp mij met een formule fantastisch goed vooruit (INDIRECT, zie voorbeeldbestand in bijlage), maar gaf aan dat voor een specifieke wens hierbij wat VBA nodig was.
Ik zou namelijk graag ook comments in de maandplanning meenemen naar de dagplanning en die comments in de cel zelf plaatsen in kolom D Detail van de dagplanning. De identiteit van de auteur moet aanwezig zijn in de maandplanning zodat ik zie wie de comment toegevoegd heeft, maar mag niet meer zichtbaar zijn in de kolom D Detail.
Ik zou met wat gepruts volgende code en formule kunnen gebruiken, maar ik hoop dat er iemand een voorzet kan geven naar een iets meer euh... sexy manier om dat te doen.
Code:
CommentsToCells()
Dim rCell As Excel.Range
Dim rData As Excel.Range
Dim sComment As String
' Horizontal displacement
Const iColOffset As Integer = 1
' extract comments from selected range
If TypeName(Selection) = "Range" Then
Set rData = Intersect(Selection, ActiveSheet.UsedRange)
For Each rCell In rData.Cells
On Error Resume Next
sComment = rCell.Comment.Text
If Len(sComment) > 0 Then
rCell.Offset(, iColOffset).Value = sComment
rCell.Comment.Delete
End If
sComment = ""
On Error GoTo 0
Next
End If
End Sub
Code:
=IF(ISBLANK(D5);"";RIGHT(D5;LEN(D5)-FIND("*";SUBSTITUTE(D5;":";"*";LEN(D5)-LEN(SUBSTITUTE(D5;":";""))))))
Alvast bedankt voor de aandacht die u aan mijn vraag wil besteden,Bekijk bijlage Nieuwe gecomprimeerde (gezipte) map.zip