Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 8 van 8

Onderwerp: Scroll kalender

  1. #1
    Senior Member
    Geregistreerd
    16 december 2016
    Vraag is niet opgelost

    Scroll kalender

    Hallo forummers,

    ik heb een vraag. Wij hebben een aanwezigheidslijst, maar dat kan in vakantieperiodes of ziekte natuurlijk veranderen.
    Nu heb ik een INVUL tabel gemaakt op INVULBLAD.

    Ik zou graag willen dat dan de gegevens van deze lijst worden overgenomen in het blad Kalender, wanneer ik scroll middels de SpinButton.

    Ik heb al heel veel geprobeerd, zoals bv "=Als(INVULBLAD!B2=Kalender!D4;INVULBLAD!B4;"").

    Dan kleurt wel dat veld groen, maar dat blijft ook zo tijdens het verder scrollen, en dat is niet de bedoeling...

    Een draaitabel zou natuurlijk prima kunnen, maar ik wil de lijst exact afdrukken zoals weergegeven op blad kalender. Om als overzicht op te hangen in de werkplaats. Het gaat hier om deelnemers aan de zijlijn van de maatschappij, dus geen enkel winstbejag of ander financieel doel. Namen heb ik aangepast...

    Wie heeft de gouden tip?

    Groet,

    Maarten
    Bijgevoegde bestanden Bijgevoegde bestanden

  2. #2
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    In A2 en O2 staan verkeerde getallen. Hierdoor kloppen de datums niet.

    Zelf maar even het bereik aanpassen.

    PHP Code:
    1
    
    =INDEX(INVULBLAD!$A$2:$T$41;MATCH($C6;INVULBLAD!$A$2:$A$41;0);MATCH(D$4;INVULBLAD!$A$2:$T$2;0)+ISODD(COLUMN()))
    Bijgevoegde bestanden Bijgevoegde bestanden
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  3. #3
    Senior Member
    Geregistreerd
    16 december 2016
    Werkt prima. Nu ga ik nog iets bedenken om middels VBA het INVULBLAD in te vullen via het blad Kalender.
    Misschien iets met If Not Intersect enz.

    Weer een uitdaging.

    Bedankt weer, VenA...

  4. #4
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    ?? het uitgangspunt is toch het invulblad? Hoe wil je dan het invulblad vullen vanuit de kalender? Gooi dan het invulbladweg en gebruik een tabel waar je per medewerker per datum per dagdeel het verlof vastlegt.
    Bijgevoegde bestanden Bijgevoegde bestanden
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  5. #5
    Senior Member
    Geregistreerd
    16 december 2016

    Schitterend

    Dit is uniek. Niet verwacht dat dit ook zo kon, zonder VBA.
    Ik heb nog veel te leren. Ga me zeker in deze formule verdiepen.

    Bovendien kan deze tabel wel makkelijk middels een formulier worden ingevuld.

    Ik laat je zien wat ik er van heb gemaakt...Au revoir.

  6. #6
    Senior Member
    Geregistreerd
    16 december 2016
    Even de beloofde reactie, VenA.

    Zoals je ziet heb ik in jou formule de IS.EVEN weg gelaten, omdat ik denk dat die niet nodig is, omdat hij al zoekt op dagdeel.
    Kan me vergissen, maar werkt zo ook prima.

    Bovendien heb ik in het Double_Click event van Blad1 een code, die alles direct invult in de database.
    Hiermee ben ik ook geholpen door een privé persoon...

    Werkt tot hiertoe ook prima.

    Ik heb het blad even onder een andere naam opgeslagen, omdat er zoals je ziet uiteraard meerdere toepassingen voor zijn...

    Graag jou en andere reacties, omdat dit leerzaam moet zijn voor iedereen.
    Hartelijk dank...
    Bijgevoegde bestanden Bijgevoegde bestanden

  7. #7
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Ik zou de tab 'Deelnemers' hier niet plaatsen. Het lijken mij geen fictieve gegevens en verder doe je er niets mee.

    De code zou ik iets anders schrijven. Bv

    Code:
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      Dim Row_Number As Long, CurrRow As Long, ar
      If Not Intersect(Target, Range("D6:Q50")) Is Nothing Then
        ar = Array(Cells(Target.Row, 3).Value, CDate(Cells(4, Target.Column).Value), Cells(5, Target.Column).Value)
        With Sheet1.ListObjects(1)
          If Target.Value = 0 Then
            .ListRows.Add(1).Range.Resize(, 3) = ar
           Else
            For CurrRow = 1 To .Range.Rows.Count
              If .Range(CurrRow, 1).Value = ar(0) Then ' zoek naam in kolom 1 van tabel
                If .Range(CurrRow, 2).Value = ar(1) Then ' zoek datum in kolom 2 van tabel
                  If .Range(CurrRow, 3).Value = ar(2) Then ' zoek dagdeel in kolom 3 van tabel
                    Row_Number = CurrRow - 1 '-1 omdat de kolomkopregel de eerste lijn is.
                    Exit For 'Dit zorgt ervoor dat alleen de eerste overeenkomende rij wordt toegewezen aan rijnummer
                  End If
                End If
              End If
            Next
            .ListRows(Row_Number).Delete ' verwijder gevonden regel
          End If
        End With
        Cancel = True
      End If
    End Sub
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  8. #8
    Senior Member
    Geregistreerd
    16 december 2016
    De tab Deelnemers ben ik vergeten te verwijderen, maar is idd niet meer nodig. De code ga ik bestuderen. Dank je wel voor de feedback. Laat ik ook nog weten. Ikzelf vind dit een leuk project...
    Groet,
    Maarten.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren