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

Huidige tijd uitgedrukt in lijn

Status
Niet open voor verdere reacties.

ronaldvm1964

Gebruiker
Lid geworden
21 jul 2008
Berichten
189
Ik zou graag een lijn in het bijgevoegde bestandje hebben wat de huidige tijd voor stelt.
Als voorbeeld lijn gezet op 16:00 uur.
Ik ben al aan het zoeken geweest hoe dit moet maar ik kom er niet uit.

Ik heb een gebied aangegeven met een tijdvak van 05:00 t/m 22:00 uur.
Als het bijvoorbeeld 15:30 is, dan moet de lijn halverwege kolom 15:00 uur lopen.

Gr,
Ronald
 

Bijlagen

Ronald,

Hoe je een lijn kunt tekenen op basis van tijd weet ik niet. Wel kom ik op
Code:
=UUR(E$1)=UUR(NU())
in voorwaardelijke opmaak zodat de kolom wordt gekleurd. Ik vermoed dat je vraag niet kan, maar word graag verbeterd.
 
Dit werkt ook goed. Ik hoop alleen dat er een manier is om een lijn over de kolom te laten lopen.
 
Laatst bewerkt door een moderator:
In bijgevoegd bestand heb ik de tijdslijn aangebracht.

Met vriendelijke groet,


Roncancio
 

Bijlagen

Laatst bewerkt:
Ik merk dat ik een slordige fout heb gemaakt.
Voor de ochtenduren zal de code niet werken.

Je kunt dit op 2 manieren oplossen:
  1. Pas de tekstopmaak aan zodat er bijvoorbeeld 08:00 staat ipv 8:00
  2. Verwijder in de code een H in de coderegel
    Code:
    While Cells(1, iTijd).Text <> Format(Now(), "HH:" & "00")

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Roncancio,

Perfecte nazorg. Ik testtte hem zojuist, 11:30 uur, en toen deed hij het direct goed, maar heb hem toch ook aangepast.
 
Met uren die uit 2 cijfers bestaat (10, 11, etc) ging het goed, maar niet bij uren voor 10:00.

Bedankt voor de feedback.

Met vriendelijke groet,


Roncancio
 
hoi allemaal

deze kijkt niet naar de opmaak maar naar de waarde:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim iTijd As Range
    For Each iTijd In Range("1:1")
        If iTijd > Time Then
            ActiveSheet.Shapes("Line 1").Left = iTijd(1, 0).Left + iTijd(1, 0).Width / 60 * Minute(Time)
            Exit Sub
        End If
    Next iTijd
End Sub

groet sylvester
 
Laatst bewerkt:
Sylvester,

De code werkte niet, wat bleek te liggen aan de naam van de lijn. In naamvak en code hernoemd en het werkt.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim iTijd As Range
    For Each iTijd In Range("1:1")
        If iTijd > Time Then
            ActiveSheet.Shapes("[B][COLOR="red"]tijdlijn[/COLOR][/B]").Left = iTijd(1, 0).Left + iTijd(1, 0).Width * Time
            Exit Sub
        End If
    Next iTijd
End Sub
 
Dat probleem kan je ondervangen door het indexgetal van de lijn te gebruiken.
M.a.w. als er maar 1 lijn op het werkblad is, kan je gebruik maken van

Code:
ActiveSheet.Lines(1)

De code kan overigens op 1 regel:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Lines(1).Left = Range("1:1").Find(Format(Now(), "H:" & "00"), , xlValues, xlWhole).Left + Range("1:1").Find(Format(Now(), "H:" & "00"), , xlValues, xlWhole).Width / 60 * Minute(Now())
End Sub
Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan