Tijdsvalue omzetten naar een rekenbaar getal

Status
Niet open voor verdere reacties.
Wat ik al zei, niet doen.
Doe dat dan in het Exit event van de 2e textbox.

Ok, maar dat is een event wat ik niet ken-kon.

Hanteerbaar in 2003?

En wat/wanneer komt dit event in actie?
Code:
Private Sub txtTot_Enter()
    txtTot.Text = ""
End Sub
Bij het geven van een Enter?
Zoals ik het nu zie een soort activate can deze textbox. Klopt dat?
 
Laatst bewerkt:
Thanks mooie oplossing.

Kan je file alleen lezen, dus even overzetten naar 2003
 
Mooi man,

maar om te voorkomen dat
men een leeg txtVan of txtTot invoerd
of na enter txtTot de cursor weer naar txtVan gaat het volgende gedaan

Code:
Private Sub txtTot_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If txtVan <> "" And txtTot <> "" Then Range("A2").Value = TimeValue(txtTot.Text) - TimeValue(txtVan.Text)
  If txtVan <> "" And txtTot <> "" Then UserForm1.Hide
End Sub
 
Daar kan je alle controles doen die je maar wil.
Code:
Private Sub txtTot_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If txtVan <> "" And txtTot <> "" Then
    Range("A2").Value = TimeValue(txtTot.Text) - TimeValue(txtVan.Text)
    UserForm1.Hide
  End If
End Sub
 
Laatst bewerkt:
Waarbij het dus meer ging om het inrichten van de Userform.
Want het het antwoord op je vraag in #1 gaf ik al in #2 ;)
 
Goedemorgen Edmoor,

Ging om het inhoudelijk, en terloops bouw je iets op.

Zit toch nog met een vraagje.

Alles werkt goed als je als je 2 (tijdswaarden) uit een Textbox naar een werkblad verzet met de formule:

Code:
      .Range("C4").Value = TimeValue(txtTot.Value) - TimeValue(txtVan.Value)
En de eigenschappen van de cel aanpassen!

Maar loop tegen het fenomeen aan als je uit een kolom de (tijdwaarde) wilt optellen.

Code:
Private Sub CommandButton1_Click()
  Dim i As Integer, Aantal As Integer
  With Sheets("Declaratie")
    .Range("AP55").Value = ""                   ' maakt Totaal cel leeg
    For i = 3 To 54
      If .Range("AP" & i) <> "" Then
        Aantal = Aantal + 1
        .Range("AP55") = TimeValue(.Range("AP55").Value) + TimeValue(.Range("AP" & i).Value)
        MsgBox (TimeValue(.Range("AP55").Value) + TimeValue(.Range("AP" & i).Value))
      End If
    Next i
  End With
End Sub

die TimeValue werkt wel bij TextBoxen, maar hoe op een sheet?

Moet dus een kolom optellen en dit Totaal (uren) vermenigvuldigen met een getal.
Heb op vb#8 op het UserForm een But bijgemaakt die probeert een totaal aantal uren te vermenigvuldigen met een getal en helaas werkt niet.
Maar heeft dus met die TimeValue te maken?
Heb jij een idee?

Gr.

Dutch
 

Bijlagen

Welke waarde staat bij jou in werkblad Declaratie in cel AP3:AP55 ?
 
Dat is geen waarde dat is een opmaakvorm.
 
De code die jij in je post plaatste gaat helemaal niet over C4 en C15.

Mij ontgaat de zin om in VBA te doen, waarvoor formules in Excel bedoeld zijn.
Met tijden in AP3:AP54, en een numberformat van :mm in AP55:
volstaat in VBA:

Code:
Sub M_snb()
   Cells(55, 42) = [sum(AP3:AP54)]
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan