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

Niet omlaag maar naar rechts

Status
Niet open voor verdere reacties.

Bandit0

Gebruiker
Lid geworden
27 jul 2011
Berichten
143
Hallo allemaal,

Ik wil gebruik maken van de onderstaande timer maar deze gaat nu automatisch bij een nieuwe meeting telkens 1 regel omlaag.
Weet iemand hoe ik het voor elkaar krijg dat het in plaats van omlaag 1 cel opschuift naar rechts?
Code:
Option Explicit

Dim NextTick As Date, t As Date, PreviousTimerValue As Date

Sub StartTime()
PreviousTimerValue = Calculations.Range("A1").Value
t = Time
Call ExcelStopWatch
End Sub

Private Sub ExcelStopWatch()
Calculations.Range("A1").Value = Format(Time - t + PreviousTimerValue, "hh:mm:ss")
NextTick = Now + TimeValue("00:00:01")
If Calculations.Range("A1").Value > Calculations.Range("B3") And Calculations.Range("A1").Value <= Calculations.Range("B4") Then
    With StopWatch.Shapes("TimeBox")
        .Fill.ForeColor.RGB = RGB(255, 255, 255)
    End With
    
Else
    If Calculations.Range("A1").Value > Calculations.Range("B4") And Calculations.Range("A1").Value <= Calculations.Range("B5") Then
    With StopWatch.Shapes("TimeBox")
        .Fill.ForeColor.RGB = RGB(255, 255, 255)
    End With
    
Else
    If Calculations.Range("A1").Value > Calculations.Range("B5") Then
    With StopWatch.Shapes("TimeBox")
        .Fill.ForeColor.RGB = RGB(255, 255, 255)
    End With
End If
End If
End If


Application.OnTime NextTick, "ExcelStopWatch"
End Sub

Sub StopClock()
On Error Resume Next
Application.OnTime earliesttime:=NextTick, procedure:="ExcelStopWatch", schedule:=False
End Sub

Sub Reset()
On Error Resume Next

With StopWatch.Shapes("TimeBox")
        .Fill.ForeColor.RGB = RGB(255, 255, 255)
    End With


If StopWatch.Range("F3") = "" And Calculations.Range("A1").Value > 0 Then
    StopWatch.Range("F3").Value = 1
    StopWatch.Range("F3").Offset(0, 1).Value = Calculations.Range("A1").Value
Else:
    StopWatch.Range("F2").End(xlDown).Offset(1, 0).Value = StopWatch.Range("F2").End(xlDown).Value + 1
    StopWatch.Range("F2").Offset(0, 1).End(xlDown).Offset(1, 0).Value = Calculations.Range("A1").Value
End If
Application.OnTime earliesttime:=NextTick, procedure:="ExcelStopWatch", schedule:=False
Calculations.Range("A1").Value = 0
End Sub
 
Code:
End(xlDown)
wijzigen in:
End(xlToRight)

zou dat voor u moeten oplossen, denk ik zo.
 
Hallo Cobbe,

Heb de wijziging net geprobeerd maar dan doet het helemaal niets.
Ik heb voor de zekerheid even het bestand bijgesloten, misschien dat u kunt kijken wat ik niet goed doe?

Alvast bedankt,
BanditBekijk bijlage Tijd registratie3.xlsm
 
Neen dat is inderdaad niet de correcte oplossing.
Maar welke dan wel?

PS: Even geduld, Jean-Paul zal wel langs komen.:)
 
Laatst bewerkt:
Is er misschien nog iemand die de oplossing weet?
 
Probeer deze 'ns:

Code:
Else:
    StopWatch.Range("F2").End(xlDown).Offset(1, 0).Value = StopWatch.Range("F2").End(xlDown).Value + 1
    StopWatch.Range("M4").End(xlToLeft).Offset(0, 1).Value = Calculations.Range("A1").Value
End If

Greetz/Excelbat
 
Hallo Excelbat,

Bedankt voor je reactie.
Heb het meteen toegepast en het werkt super.
Nog een vraagje, weet je misschien ook hoe ik het beste te werk kan gaan dat de timer zich pas naar rechts verplaatst na een dag?
Dus zolang ik op maandag aan het werken ben in cel B4 alle tijden die geregistreerd worden opgeteld in cel H4 terecht komen.
En dan wil ik het graag voor alle cellen van de maandag t/m de vrijdag.
Hoop dat je mij kunt helpen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan