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

Positioneren 'tijdslots' in een planning

Status
Niet open voor verdere reacties.

fabsic01

Gebruiker
Lid geworden
12 feb 2014
Berichten
8
Beste,

Ik ben bezig met het opzetten van een planning en ik kan daarbij een zetje in de juiste richting wel gebruiken.

De opzet is als volgt. het eerste tabsheet "project input" bevat 3 cellen (paars gemarkeerd) met daarin;
-number of weeks waarbij het aantal weken zonder de weekenden (zaterdag & zondag) dus 5 dagen
-number of days is het aantal werkdagen eveneens zonder de weekenden meegeteld
-start activity is in welk weeknummer de gekozen periode van start dient te gaan ( de periode is 1 van de 2 of een combinatie van beide cellen hierboven beschreven ( bijvoorbeeld 2 weken en 3 dagen = 13 dagen).

Met bovenstaande wil ik met behulp van deze 3 variabelen een activiteit kunnen plaatsen in het tabsheet "planning" waarbij wel rekening wordt gehouden met de weekenden. Idealiter zou er dan een "X" moeten komen staan in de cel indien deze voldoet aan de input van de 3 cellen in het andere tabsheet.

Ik loop tegen het volgende probleem aan namelijk, hele extensieve ALS formules die ik niet makkelijk kan kopiëren in de betreffende rij waardoor het geen doen is en ik kan de weekenden er niet uit halen.

Hulp wordt zeeeeer op prijs gesteld, ben namelijk desperate aan het worden.

Bij voorbaat dank

Steffen


Excel is bijgevoegd en password om te openen is : akulaopen (kleine lettters)
 

Bijlagen

jou activiteit start dan altijd op de maandag van de gekozen week
 
Prachtig wachtwoord dat je daarvoor gebruikt. :(
 
Code:
Sub Activity()

    For Each cl In Sheets("project input").Range("F7:F" & Sheets("project input").Cells(Rows.Count, "F").End(xlUp).Row)
    
        With Sheets("planning")
        
            Set r = .Range("A:A").Find(cl.Value, LookIn:=xlValues)
            Set c = .Range("D9:NN9").Find(cl.Offset(, 3).Value, LookIn:=xlValues)
    
            For i = 1 To cl.Offset(, 1).Value
                Cells(r.Row, c.Column).Offset(, (i - 1) * 7).Resize(, 5).Value = "X"
            Next
            
            Cells(r.Row, c.Column).Offset(, (i - 1) * 7).Resize(, cl.Offset(, 2).Value).Value = "X"
            
        End With
        
    Next

End Sub

Niels
 
Beste Niels,

Dank voor je oplossing. Ik heb de code gekopieerd en hij werkt perfect! Heb nog 1 vraag, hoe maak je hem zo dat de VBA automatisch wijzigt bij een mutatie ipv ieder keer uit te hoeven voeren?

met vriendelijke groet,

Steffen
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan