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

Celeigenschap u:mm verandert automatisch

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
947
Beste helpmijers,

Ik werk in excel met een tijdindicatie u:mm t, echter kan ik daar nooit bijv. een "9" (van 9 uur) uur plaatsen, dan maakt hij ervan: 0,00 en zie je in de bovenbalk staan: 9-1-1900 0:00:00. Alleen wanneer ik 9:00 typ gaat het goed. Mijn wens is dat de celeigenschap u:mm blijft en in de cel een ( : ) komt te staan en dat ik vrij eenvoudig een vermelding 9:30 kan maken en wanneer ik alleen een "9" vermeld dit automatisch 9:00 wordt.

Een antwoord zie ik met belangstelling tegemoet.

Met vriendelijke groet,
Robert
 
Robert Smidt,

Zou het bezwaarlijk zijn om 900 te typen en dat dit dan 9:00 word.
Zo kun je ook 1315 typen en dit word dan 13:15

Ik heb hier een macro voor.
 
Datums zijn gehele getallen, en tijden zijn breuken. Excel moet wel weten of een ingevoerd getal een datum is of een tijd. Voer je het cijfer 9 in, dan is dat dus per definitie een datum. Ergo: 9 januari 1900. Pas als je het scheidingsteken : toevoegt, kan Excel zien dat je een tijd bedoelt. Mag je zelf uitleggen hoe je een scheiding kunt aanbrengen zonder een scheidingsteken mee te geven...
(antwoord: userform maken)
Of inderdaad een macro die de invoer omzet.
 
Laatst bewerkt:
Bedankt voor jullie reactie, ik zou enorm geholpen zijn met een macro.

Alvast bedankt.
 
Hier is de macro.
Zet deze achter het blad waar je de tijd invoert.
Pas ook de kolomnummers aan naar je eigen situatie.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 2 Or Target.Column = 3 Then 'pas de kolommen nr. aan
    Select Case Len(Target)
      Case 3
        Target = Left(Target, 1) & ":" & Right(Target, 2)
      Case 4
        Target = Left(Target, 2) & ":" & Right(Target, 2)
    End Select
  End If
End Sub
 
Bedankt voor de macro. Morgen ben ik in de gelegenheid deze uit te proberen.
 
Ik zou er nog de volgende code tussen zetten (net voor de select case):
Code:
If target.NumberFormat="hh:mm" then
   'select case here
Endif
Op deze manier ga je alleen maar cellen converteren die uu:mm opmaak hebben. Gegarandeerd dat er anders ergens in de kolom een getal staat dat ongewild aangepast gaat worden.
 
Ik heb gekeken of de code werkt en die van Excel Amateur werkt op zich alleen kan ik geen 1200 (12 uur) invoeren, alle andere tijden doet hij wel juist. Helaas werkt de code van Rene bij mij niet, wellicht dat ik iets niet goed doe.

Is het geen mogelijkheid wanneer ik een heel uur vermeld hij de "00" er zelf bij plaatst? In principe zou hij alleen maar hoeven kijken van 0 t/m 12 uur. M.a.w. wanneer binnen voornoemde bereik en er minder dan 3 cijfers zijn geplaatst moet het systeem er "00" achter plaatsen.

Een antwoord zie ik met veel belangstelling tegemoet.
 
Sommigen bij MS hebben daarvoor een oplossing bedacht: 'data validation'

Zie de bijlage in cel B2

voer 11: in en zie het effekt.
Of maak gewoon een selektie uit de lijst.
 

Bijlagen

Laatst bewerkt:
Op zich werkt de data validation, echter vind ik het professioneler dat je handmatig een tijd kunt invoeren. De code die ik heb ontvangen geeft foutmeldingen o.a. wanneer ik de tijd delete. Verder kan ik geen 12 en 18 uur invoeren.

Ik hoop dat dit probleem opgelost kan worden.

Alvast bedankt.
 
Ja hoor, dat kun je allemaal zelf.
De suggestie is je nu aangereikt.
Dit forum is geen gratis softwareburo.
 
Als de code fouten bevat is het toch niet zo vreemd dat ik daar op reageer. Ik vraag alleen om een oplossing zodat deze juist werkt en iedereen staat het vrij om daar op te reageren. Sorry, maar jouw opmerking helpt mij niet om tot een oplossing te komen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan