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

Variabel een bereik naar een selectie transponeren

Status
Niet open voor verdere reacties.

mike564

Gebruiker
Lid geworden
11 dec 2015
Berichten
83
Beste helpers,

Bijgevoegd een bestand waarbij op het blad "Termijnplanning 1" de huidige manier van werken wordt getoond.
Bij het selecteren van een bereik en sneltoets "ctrl+u" worden hier automatisch de cellen met de waarde van cel I8 gevuld.

Onderstaand de code die wordt uitgevoerd:
Code:
Sub UrenSelectie()
    With Selection
    .Value = Cells(8, 9)
    End With
End Sub

Het probleem is echter dat wij werken met 1 ATV uur op vrijdag, waardoor op de vrijdag maar 7 uur wordt gewerkt. Hierdoor moet de vrijdag handmatig worden aangepast naar 7, waardoor het voor de eenvoud en snelheid van het plannen geen voordeel meer oplevert t.o.v. kopiëren --> plakken speciaal.

Wat ik graag zou willen is dat er bij het plannen niet perse hoeft worden vastgehouden aan blokken van 5 dagen, maar dat je alles variabel zou kunnen vullen (het bereik I7:I11 in tab "Termijnplanning 2").
Als voorbeeld geeft het tabblad "Termijnplanning 2" de gewenste situatie weer (dus bij een selectie van N18:O18;O19:R19;Q20:Z20 en de sneltoets ctrl+u , is dit het gewenste resultaat)

Ik weet dat er op het forum ontzettend veel topics zijn over het fenomeen transponeren, maar tot op heden heb ik nog niet de juiste oplossing voor mijn situatie kunnen vinden.

Alvast bedankt!

Mike
 

Bijlagen

Code:
Sub UrenSelectie()
    Dim kolom As Long
    Dim cel As Range
    For Each cel In Selection
        kolom = cel.Column - 13
        kolom = kolom Mod 5
        If kolom = 0 Then
            kolom = 5
        End If
        kolom = kolom + 6
        cel.Value = Cells(kolom, 9)
    Next cel
End Sub

Korte uitleg: in plaats van je selectie als geheel te bekijken, loop ik door alle cellen in je selectie. Ik bepaal op basis van de waarde van de kolom op welke dag van de week ik uit zou moeten komen, en die waarde zet ik er neer.

De code van hierboven is redelijk 'Quick and dirty' en zou in het geval van de opmaak van "Termijnplanning 2" moeten werken, maar het is nogal foutgevoelig als je in de opmaak gaat rommelen. Allicht kun je het op z'n minst als inspiratie gebruiken.
 
Bedankt voor je reactie!
Ik heb het even getest en het werkt zoals ik het voor ogen had, hartelijk dank!

Ik snap de variabelen in je code en mocht de opmaak dan toch veranderen, dan kom ik er wel uit:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan