Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: voorwaardelijke opmaak en keuzelijst.  (gelezen 34988 keer)

0 leden en 1 gast bekijken dit topic.

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #30 Gepost op: 11 januari 2017, 19:02:54 »
wat bedoel je met een stap terug zetten zekker bedoel je.
Want als ik het goed heb staat de lijn in 2020 tussen 51 en 52 en zijn 52 en53 de 1ste en 2de week van het nieuwe blok van 2021
en waarom een verwijzing naar die formule

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #31 Gepost op: 11 januari 2017, 20:49:32 »
zie hier het zelfde met vba
Maar zit vast bij het omzetten van aantal(k7:q7) naar vba

Offline plongske

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #32 Gepost op: 11 januari 2017, 23:19:35 »
Tja, bij de  NMBS hebben ze toch  moeilijke problemen. :D
ik ben geen VBA specialist. maar die VBA oplossing loopt vast bij mij als ik verander van jaartal
Groeten plongske

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #33 Gepost op: 11 januari 2017, 23:35:46 »
Waar loopt het vast

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #34 Gepost op: 11 januari 2017, 23:49:23 »
Waarom de verwijzing naar de formules voor het berekenen van het week nr in uw gewijzigd vo formule
0

Offline plongske

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #35 Gepost op: 11 januari 2017, 23:50:33 »
Sub WeekLijnTrekken()
' Daar jaar 2015 een schikkeljaar is zijn er 53 weken.
' Dus de laatste rodelijn ligt tussen 52 en 53
' Dus de week 53 telt mee als 1 ste week voor het eerste blok van het volgende jaar 2016
' Hier door hebben we maar 3 weken over in januari 2016
' declaratie van de tellers

'De tellers initialiseren
Dim RodelijnTeller As Integer
jaar = [h3]
If jaar > 2015 And jaar <= 2020 Then
StartTeller = 3
RodelijnTeller = StartTeller
ElseIf jaar > 2020 Then
StartTeller = 2
RodelijnTeller = StartTeller
End If
'Van de maand Januari tot juni
'Voor elke ElkeCel in het berijk i7 tot i47 na gaan wat de ElkeCelwaarde is

For Each elkecel In Range("I7:I47")
    If elkecel = RodelijnTeller And elkecel.Offset(1) <> RodelijnTeller And elkecel.Offset(1) <> "" Then
        elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).ColorIndex = 3
        elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).Weight = xlThick
        RodelijnTeller = RodelijnTeller + 4 '
    Else
        elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).ColorIndex = xlAutomatic
        elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).Weight = xlThin
    End If
Next

'Van de maand juni tot december

For Each elkecel In Range("R7:R47")

Select Case jaar
Case Is <= 2020
    'If jaar <= 2020 Then
   
    t = Range(Cells(elkecel, 11), Cells(elkecel, 17)).cou
        If elkecel = RodelijnTeller And elkecel.Offset(1) <> RodelijnTeller And elkecel.Offset(1) <> "" Then
            elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).ColorIndex = 3
            elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).Weight = xlThick
           ' VorigeTeller = RodelijnTeller
            RodelijnTeller = RodelijnTeller + 4
    '  ElseIf elkecel = RodelijnTeller And elkecel.Offset(1) <> RodelijnTeller And elkecel.Offset(1) = "" And elkecel.Offset(1) <> RodelijnTeller Then
     '     elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).ColorIndex = 3
      '  elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).Weight = xlThick
           ' VorigeTeller = RodelijnTeller
       ' RodelijnTeller = RodelijnTeller + 4
        Else
            elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).ColorIndex = xlAutomatic
            elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).Weight = xlThin
         End If
    'End If
    Case Is > 2020
    'If jaar > 2020 Then
        If elkecel = RodelijnTeller And elkecel.Offset(1) <> RodelijnTeller And elkecel.Offset(1) = "" Then
            elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).ColorIndex = 3
            elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).Weight = xlThick
            RodelijnTeller = RodelijnTeller + 4
            elkecel = elkecel + 1
        Else
            elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).ColorIndex = xlAutomatic
            elkecel.Offset(, -7).Resize(1, 8).Borders(xlEdgeBottom).Weight = xlThin
        End If
    'End If
    End Select
Next

End Sub

Sub TestLeapYear()

If (Year(Date) Mod 4) Then
MsgBox "Not a Leap Year!"
Else
MsgBox "Leap Year!"
End If

Dim booIsLeapYear As Boolean
Dim dt As Date: dt =
booIsLeapYear = ((Year(dt) Mod 4 = 0) And (Year(dt) Mod 100 <> 0)) Or (Year(dt) Mod 400 = 0)
End Sub

Public Function IsLeapYear(ByVal YY As Long) As Boolean
    IsLeapYear = Day(DateSerial(YY, 3, 0)) = 29
End Function
bij     t = Range(Cells(elkecel, 11), Cells(elkecel, 17)).cou
Groeten plongske

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #36 Gepost op: 11 januari 2017, 23:53:42 »
Snap niet waarom je de code post
Wat gaat er fout

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #37 Gepost op: 11 januari 2017, 23:56:39 »
Wat bedoel je met een stap verzetten van de rodelijn in welke richting

Offline plongske

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #38 Gepost op: 11 januari 2017, 23:57:55 »
de macro stopt bij
bij     t = Range(Cells(elkecel, 11), Cells(elkecel, 17)).cou

Nu de uitleg in die je bijschrijft in VBA klopt  niet  de schrikkeljaren zijn niet van tel enkel de jaren waar er 53 weken in voorkomen
Groeten plongske

Offline JeanPaul

  • Volledig lid
  • **
  • Berichten: 116
  • Oplossing.be
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #39 Gepost op: 12 januari 2017, 00:04:11 »
Volgens mij zijn de jaren met 53 weken die jaren waar laatste dag van het jaar op een donderdag valt, en dan kan je berekenen , die jaren zijn al door plonske bekend gemaakt

Offline plongske

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #40 Gepost op: 12 januari 2017, 01:06:14 »
@Jean Paul dat klopt. Ik heb de jaren opgezocht daar ik de formule niet ken.
bijkomend probleem was dat ik geen tellertje kan laten lopen  van 3 tot 0 zonder VBA( ik heb totaal geen kennis met VBA)
@ glda19
Hopelijk ben ik eruit
Ik heb op blad 1 de jaren geplaatst met bijhorende weeknummer waar de eerste lijn moet getrokken worden.
Kan je even testen?
Groeten plongske

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #41 Gepost op: 12 januari 2017, 19:23:20 »
Raag eens een uitleg van uw formule voor het tekenen van die rodelijn.
Snap er niks van  totaal niet.
En al zeker niet waarom er die is formule instaat.
En ook niet wat je doet met die waarde op blad1

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #42 Gepost op: 12 januari 2017, 19:33:03 »
@jeanpaul kun jij je macro nog eens aanpassen.
Zodat de fout van week 39 in 2018 er uit is en de eerste lijn op de juiste plaats ligt.
Want snap niks van wat plonske bedoelt met die getallen op blad1

Offline plongske

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 257
  • Geslacht: Man
  • Oplossing.be
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #43 Gepost op: 13 januari 2017, 00:05:58 »
Heb ondertussen een de VO iets kunnen vereenvoudigen.
=EN($I7<>53;REST($I7;4)=INDEX(Blad1!$B$1:$B$18;VERGELIJKEN($H$3-1;Blad1!$A$1:$A$18;1));$H7<>"")De code is voor het linker gedeelte. Het rechter gedeelte is dezelfde formule maar de gepaste kolommen dienen aangepast te worden. Zie bestand daarvoor

Zal even proberen om het uit te leggen.
Op blad 1 staan de jaren met 53 weken met daarnaast de restwaarde om de eerste lijn te bepalen.
In de VO deel je het weeknummer (kolom H) door 4 en die restwaarde moet overeen komen met de opgezochte waarde van het jaar ervoor(VERGELIJKEN($H$3-1) via die index en vergelijken formule.

Dan had ik een probleem voor de jaren waar de eerste lijn moet getrokken worden op week 1 of anders gezegd waar de rest van de deling door 4 gelijk is aan 1, immers als je 53 deelt door 4 is de rest ook 1.
vandaar dat ik  week 53 uitsluit.

De vereenvoudiging zit hem dat de lijn ook enkel mag getrokken worden als er in de kolom van de zondag(kolom H) iets is ingevuld.

Dus samengevat
Trek een lijn als er in kolom H iets is ingevuld En de restwaarde van  het weeknummer gedeeld door 4 overeenstemt met de opgezochte waarde van blad 1 En niet voor Weeknummer 53
 
Groeten plongske

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: voorwaardelijke opmaak en keuzelijst.
« Reactie #44 Gepost op: 13 januari 2017, 17:33:30 »
Maar hoe kom je erbij dat bij rij 3 de eerste lijn moet liggen
hoe heb je op blad1 de  restwaarde bepaald

 


www.combell.com