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

Planning script, Wat doe ik fout ???

Status
Niet open voor verdere reacties.

rvt1982

Gebruiker
Lid geworden
10 aug 2011
Berichten
156
Beste leden,

Heb ik (met een paar andere) volgende script gemaakt, maar de eerste dag zet de script alle planningen 1 rij te laag...., maar als ik de zelfde planning 1 dag later zet dan werkt deze wel goed.
zie voorbeeld: Afbeelding1.jpg

Wie kan mij hier mee helpen?

Alvast bedankt.

Code:
Function AgendaUpdateStarten()


     Application.ScreenUpdating = False
 
   Dim cl As Range, c As Variant, rij As Integer, q As Variant, nummer As Integer

   With Sheets("Agenda").Range("B5:IQ72")
    .ClearContents
    .Interior.ColorIndex = xlNone
    .UnMerge
   End With

With Sheets("DATA1")
  For Each cl In .Range("A3:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
    If cl > 0 Then
 With Sheets("Agenda")
   .Columns("B:IQ").ColumnWidth = 45
      Set c = .Range("B3:IQ3").Find(cl.Offset(, 1), LookIn:=xlValues)
If Not c Is Nothing Then
    .Columns("B:IQ").ColumnWidth = 3
    'aanpassen voor de machines
     rij = WorksheetFunction.Match(cl.Offset(, 2), .Range("A2:A72"), 0)
     rij = rij + .Cells(rij, c.Column - 1).CurrentRegion.Rows.Count
 

  nummer = 0
   Do Until nummer = 24
       If .Range(c.Address).Offset(1, nummer).Value = cl.Offset(, 3) Then
   q = IIf(cl.Offset(, 4) < cl.Offset(, 3), cl.Offset(, 4) + 25 - cl.Offset(, 3), _
     cl.Offset(, 4) - cl.Offset(, 3))
  If .Cells(rij, c.Column - 1) = 1 Then
    .Cells(rij - 1, c.Column - 1).Offset(1) = 1
  Else
    .Cells(rij, c.Column - 1) = 1
  End If
      .Range(c.Address).Offset(rij - 3, nummer) = cl
        .Range(c.Address).Offset(rij - 3, nummer).HorizontalAlignment = xlVAlignCenter
         .Range(c.Address).Offset(rij - 3, nummer).Resize(, q).Merge
            'kleur aanpassen
           .Range(c.Address).Offset(rij - 3, nummer).Resize(, q).Interior.ColorIndex = 3: Exit Do
         End If
        nummer = nummer + 1
      Loop
      
     End If
     End With
    End If
  Next
End With

End Function
 
Beste leden,

Heb ik (met een paar andere) volgende script gemaakt,...

Code komt me bekend voor ;) (is al een tijdje terug), maar met een .jpg kunnen de helpers niets.
Wat bedoel je met: "Als ik dezelfde planning 1 dag later zet, werkt het deze wel goed"
 
Je gebruikt in onderstaand gedeelte een ongedefinieerde- en gedefinieerde range door elkaar.
Dat mag, als je maar weet wat je doet.
Code:
rij = WorksheetFunction.Match(cl.Offset(, 2), .Range("A2:A72"), 0)
rij = rij + .Cells(rij, c.Column - 1).CurrentRegion.Rows.Count
Range("A2:A72") begint bij rij 2 en c bij rij 3.
 
Agenda.jpgSorry voor de late reactie.

Deze script is gemaakt door iemand die er inderdaad weet wat die doet (met dank aan Harry "HSV")

Ik heb 3 exact de zelfde planningen gemaakt, alleen de dag is verschillend. zie afbeelding

dus deze moeten allemaal in de zelfde rij zitten, en zoals je op de afbeelding kan zien is de rode en de groene planning niet in de zelfde rij...
en toch zijn de (op de dag na) planning het zelfde.

De eerste dag staat alles in de juiste rij, maar vanaf de 2e dag staat alles 1 rij te hoog.

Alvast bedankt voor de hulp.
 
HSV schreef hierboven al:
Code:
met een .jpg kunnen de helpers niets.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan