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

invullen

Status
Niet open voor verdere reacties.

Justes

Gebruiker
Lid geworden
7 sep 2004
Berichten
692
Hallo...

Onlangs stond er een vraag van een 1/2 invullen, ik weet echt niet meer van wie.
Dat heb ik verder uitgewerkt voor het invullen van een urenstaat nu moet er nog een uitbreiding komen van de gewerkte uren, zie bijlage.
Wie helpt?

Bij voorbaat dank.

Gr Justes
 

Bijlagen

  • urenstaat.zip
    14,2 KB · Weergaven: 50
Opgekuiste code... ;)

Code:
Sub eenkeerzetten(str1 As String, str2 As String)
    ActiveCell.Value = str1
    ActiveCell.Offset(, 1).Value = str2
End Sub

Sub vijfkeerzetten(str1 As String, str2 As String)
    Call eenkeerzetten(str1, str2)
    ActiveCell.Resize(, 2).Copy ActiveCell.Offset(, 2).Resize(, 8)
End Sub

Sub Zet7_45_17_15() '1
    Call eenkeerzetten("7:45", "17:15")
End Sub
Sub Zet5x7_45_17_15()   '1
    Call vijfkeerzetten("7:45", "17:15")
End Sub
Sub Zet8_30_18_15() '2
    Call eenkeerzetten("8:30", "18:15")
End Sub
Sub Zet5x8_30_18_15()   '2
   Call vijfkeerzetten("8:30", "18:15")
End Sub
Sub Zet9_45_17_15() '3
    Call eenkeerzetten("9:45", "17:15")
End Sub
Sub Zet5x9_45_17_15()   '3
    Call vijfkeerzetten("9:45", "17:15")
End Sub
Sub Zet9_45_18_15() '4
    Call eenkeerzetten("9:45", "18:15")
End Sub
Sub Zet5x9_45_18_15()   '4
    Call vijfkeerzetten("9:45", "18:15")
End Sub
Sub Zet11_45_17_15()    '5
    Call eenkeerzetten("11:45", "17:15")
End Sub
Sub Zet5x11_45_17_15()  '5
    Call vijfkeerzetten("11:45", "17:15")
End Sub
Sub Zet11_45_18_15()    '6
    Call eenkeerzetten("11:45", "18:15")
End Sub
Sub Zet5x11_45_18_15()  '6
    Call vijfkeerzetten("11:45", "18:15")
End Sub
Sub Zet12_45_21_15()    '7
    Call eenkeerzetten("12:45", "21:15")
End Sub
Sub Zet5x12_45_21_15()  '7
    Call vijfkeerzetten("12:45", "21:15")
End Sub
Sub Zet17_45_21_15()    '8
    Call eenkeerzetten("17:45", "21:15")
End Sub
Sub Zet5x17_45_21_15()    '8
    Call vijfkeerzetten("17:45", "21:15")
End Sub

Probeer de logica ervan in te zien.

Wigi
 
Laatst bewerkt:
Hallo Wigi,

Dat zit er veel beter uit daarvoor dank, maar weet je ook antwoord op mijn vraag.

Gr, Justes
 
Halli Wigi,

De gewerkte tijden komen in de cellen onder de cellen eind, hoe kan ik die selecteren (zoals de andere cellen geslecteerd worden) en de gewerkte tijd plaatsen, zie mijn voorbeeld.


Gr Justes
 
Laatst bewerkt:
Justes

voor de combinaties 1, 4, 6 en 8 heb je in de file niet aangegeven wat de gewerkte tijd is.

Wigi
 
Dit is alvast voor het wissen:

Code:
Sub Wissen()
    Selection.ClearContents
    Range("D11").Select
End Sub
Sub Alles_wissen()
    Range("B6:O24").ClearContents
    Range("B6").Select
End Sub
 
Justes

voor de combinaties 1, 4, 6 en 8 heb je in de file niet aangegeven wat de gewerkte tijd is.

Wigi

begin eind begin eind
8:30 18:15
gewerkt 8:3/4
11:45 17:15 12:45 21:15
gewerkt 5:1/4 7:3/4
9:45 17:15
6:3/4

Dus drie cellen selecteren en tijd in plaatsen
Gr Justes
 
Laatst bewerkt:
begin eind begin eind
8:30 18:15
gewerkt 8:3/4
11:45 17:15 12:45 21:15
gewerkt 5:1/4 7:3/4
9:45 17:15
6:3/4

Dus drie cellen selecteren en tijd in plaatsen
Gr Justes

Justes

nu heb je opnieuw dezelfde info gegeven als in de file. Je moet die van de andere werkperiodes geven. Of mis ik iets in de vraag?
 
Justes

nu heb je opnieuw dezelfde info gegeven als in de file. Je moet die van de andere werkperiodes geven. Of mis ik iets in de vraag?

Hallo Wigi,

Nogmaals geprobeerd,
Hij vult nu de begin en eindtijd in, kan ook met dezelfde knop de gewerkte tijd ingevuld worden, zie bijlage.

Gr Justes
 

Bijlagen

  • urenstaat-2.zip
    11,8 KB · Weergaven: 33
OK, hier dan: alle code ineens.

Code:
Sub eenkeerzetten(str1 As String, str2 As String, str3 As String)
    With ActiveCell
        .Value = str1
        .Offset(, 1).Value = str2
        .Offset(1, 1).Value = str3
    End With
End Sub

Sub vijfkeerzetten(str1 As String, str2 As String, str3 As String)
    Call eenkeerzetten(str1, str2, str3)
    ActiveCell.Resize(2, 2).Copy ActiveCell.Offset(, 2).Resize(2, 8)
End Sub

Sub Zet7_45_17_15() '1
    Call eenkeerzetten("7:45", "17:15", "8:5/6")
End Sub
Sub Zet5x7_45_17_15()   '1
    Call vijfkeerzetten("7:45", "17:15", "8:5/6")
End Sub
Sub Zet8_30_18_15() '2
    Call eenkeerzetten("8:30", "18:15", "8:3/4")
End Sub
Sub Zet5x8_30_18_15()   '2
   Call vijfkeerzetten("8:30", "18:15", "8:3/4")
End Sub
Sub Zet9_45_17_15() '3
    Call eenkeerzetten("9:45", "17:15", "6:3/4")
End Sub
Sub Zet5x9_45_17_15()   '3
    Call vijfkeerzetten("9:45", "17:15", "6:3/4")
End Sub
Sub Zet9_45_18_15() '4
    Call eenkeerzetten("9:45", "18:15", "7:3/4")
End Sub
Sub Zet5x9_45_18_15()   '4
    Call vijfkeerzetten("9:45", "18:15", "7:3/4")
End Sub
Sub Zet11_45_17_15()    '5
    Call eenkeerzetten("11:45", "17:15", "5:1/4")
End Sub
Sub Zet5x11_45_17_15()  '5
    Call vijfkeerzetten("11:45", "17:15", "5:1/4")
End Sub
Sub Zet11_45_18_15()    '6
    Call eenkeerzetten("11:45", "18:15", "6:1/4")
End Sub
Sub Zet5x11_45_18_15()  '6
    Call vijfkeerzetten("11:45", "18:15", "6:1/4")
End Sub
Sub Zet12_45_21_15()    '7
    Call eenkeerzetten("12:45", "21:15", "7:3/4")
End Sub
Sub Zet5x12_45_21_15()  '7
    Call vijfkeerzetten("12:45", "21:15", "7:3/4")
End Sub
Sub Zet17_45_21_15()    '8
    Call eenkeerzetten("17:45", "21:15", "3:5/6")
End Sub
Sub Zet5x17_45_21_15()    '8
    Call vijfkeerzetten("17:45", "21:15", "3:5/6")
End Sub

Wigi
 
Hallo Wigi,

Meer dan geweldig, Foutje van mij de gewerkte tijd moet in de cel onder de cel aanv.
wat moet ik aan de code veranderen.

Tot zover hartelijk dank.

Gr Justes
 
Dit

Code:
Sub eenkeerzetten(str1 As String, str2 As String, str3 As String)
    With ActiveCell
        .Value = str1
        .Offset(, 1).Value = str2
        [B].Offset(1, [I]1[/I]).Value = str3[/B]
    End With
End Sub

vervangen door

Code:
Sub eenkeerzetten(str1 As String, str2 As String, str3 As String)
    With ActiveCell
        .Value = str1
        .Offset(, 1).Value = str2
        [B].Offset(1, [I]0[/I]).Value = str3[/B]
    End With
End Sub

Snap je waarom?

Wigi
 
Dit

Code:
Sub eenkeerzetten(str1 As String, str2 As String, str3 As String)
    With ActiveCell
        .Value = str1
        .Offset(, 1).Value = str2
        [B].Offset(1, [I]1[/I]).Value = str3[/B]
    End With
End Sub

vervangen door

Code:
Sub eenkeerzetten(str1 As String, str2 As String, str3 As String)
    With ActiveCell
        .Value = str1
        .Offset(, 1).Value = str2
        [B].Offset(1, [I]0[/I]).Value = str3[/B]
    End With
End Sub

Snap je waarom?

Wigi

Ja, ik had het zelf al gevonden en was net een berichtje aan het schrijven, toch een mooi iets om verder uit te werken daar zullen vele plezier van kunnen hebben, nogmaals dank.

Gr Justes
 
urenstaat invullen

Hallo Wigi,

Ben ik weer, een kleine aanpassing maar ik weet niet hoe, zoals je in de bijlage kunt zien is het makkelijker om per dag in te voeren inplaats per persoon.
Dus inplaats van ActiveCell.Next.Next.Activate moet komen ????

Gr Justes
 
Code:
Sub volgende()
    ActiveCell.Offset(2).Select
End Sub

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan