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

Sorteren met (automatisch) een lege tussenregel

Status
Niet open voor verdere reacties.

Thierry1966

Gebruiker
Lid geworden
8 mrt 2018
Berichten
13
Beste allen,

Met jullie hulp en meedenken, is de visualisatie van het dienstenpatroon een goed eind op weg.
Zit echter met nog één issue.

Planners en roosteraars vullen het dienstenpatroon in (tabblad 9a.). En muteren daarop, waardoor alle dagen van de week door elkaar kunnen komen te staan.
Om de visualisatie in tabblad 9b. wel goed te krijgen, dat wil zeggen gesorteerd per dag (waarbij maandag 1 is en zondag 7), had ik een opgenomen macro gemaakt om te sorteren.
Alleen dat sorteren zorgt ervoor dat alle dagen aan elkaar gesloten onder elkaar komen te staan in tabblad 9b.

Voor de leesbaarheid zou het beter zijn een lege regel te kunnen creëren tussen de verschillende dagen. Dus na maandag een lege regel, dan dinsdag, lege regel, woensdag, etc.

Is er code die dit zou kunnen bewerkstelligen?

Groet, Thierry
 

Bijlagen

  • Model 2018 versie 02 testversie.xlsm
    78,3 KB · Weergaven: 31
Volgt uit de begin en eindtijd niet of een dienst een slaapdienst is ?
M.a.w. is kolom I niet overbodig ?

Waarom gebruik je kolom A niet ?
In kolom B staat hetzelfde als in het label van de rij: is dat niet overbodig ?

Waarom gebruik je geen intelligente tabel ?

Waarom laat je die tabel na invoer niet sorteren ?
 
Laatst bewerkt:
Moet ik wel de laatste versie uploaden, sorry SjonR.

@snb:
Slaapdienst of wakende dienst is van toepassing op berekening van de kosten. Indien Ja, wordt die dienst maar voor de helft betaald. Heeft verder geen invloed op de visualisatie.

Kolom I is wellicht overbodig, constateer echter dat in de praktijk deze samengestelde code gebruikt wordt bij controle dienstrooster is het roosterpakket voor verloning.
Dit model is bedoeld om vooraf een inschatting te kunnen maken van alle kosten, een forecast. Overige tabbladen heb ik tijdelijk verwijderd vanwege de info die erin staat.

Kolom A (en daarna kolom C) gebruik ik om te sorteren, maar dat lost nog niet de leesbaarheid op: een lege regel tussen de dagen.

Begin me een groentje te voelen.. intelligente tabel?

En ja sorteren zou ook in tabblad 9a kunnen, maar dan heb ik nog geen lege regel tussen de dagen.

Groet, Thierry
 

Bijlagen

  • Model 2018 versie 02 testversie.xlsm
    89,1 KB · Weergaven: 34
Of het lekker gaat werken laat ik maar in het midden.

Code:
Sub VenA()
Dim r As Range
  With Sheets("9b. Visualisatie DP").Range("A4:BT60")
    .Sort .Cells(1), , .Cells(1, 3), , , , , xlNo
    For j = 1 To .Rows.Count + 1
      If .Cells(j, 1) <> .Cells(j + 1, 1) Then
        If r Is Nothing Then Set r = .Cells(j, 1) Else Set r = Union(r, .Cells(j, 1))
      End If
    Next j
    If Not r Is Nothing Then r.EntireRow.Offset(1).Insert
  End With
End Sub
 
Dank VenA, maar je hebt helemaal gelijk.
Eerste run gaat prima en ziet er goed uit.
Daarna mutaties en na tweede run is het een "zooitje".
Dat ga ik aan m'n interne klanten niet tonen.

We gaan/moeten naar een andere oplossing zoeken.

Dank voor het meedenken.

Groet, Thierry
 
Kijk eens naar een draaitabel.
 
Je kan toch ook met meerdere kleurtjes werken. In het voorbeeldje een intelligente tabel die bij een klik op de tab '9b. Visualisatie DP' bijgewerkt wordt. Het opzoeken van dagnummers is niet nodig omdat dit met CustomOrder kan. De formules in de cellen zijn niet nodig voor de voorwaardelijke opmaak.

Code:
Private Sub Worksheet_Activate()
  Application.ScreenUpdating = False
  ar = Sheets("9a. Dienstenpatroon").Range("H6:H55").SpecialCells(2).Resize(, 4)
  With ListObjects(1)
    .DataBodyRange.Delete
    .ListRows.Add
    .DataBodyRange.Resize(UBound(ar), 4) = ar
    With .Sort
      .SortFields.Clear
      .SortFields.Add .Parent.Parent.Cells(1), CustomOrder:="Ma,Di,Wo,Do,Vr,Za,Zo" 'kan ook anders
      .SortFields.Add .Parent.Parent.Cells(1, 2)
      .Apply
    End With
  End With
End Sub
 

Bijlagen

  • Model 2018 versie 02 testversie (1).xlsm
    49,6 KB · Weergaven: 29
als je de regelhoogte voldoende groot maakt en de tekst in een cel vertikaal centreert heb je visueel hetzelfde effect als met een regel ertussen...
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan