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

getal omzetten naar tijd

Status
Niet open voor verdere reacties.

cyberstefke

Gebruiker
Lid geworden
8 okt 2008
Berichten
90
Als mijn tijd in Excel wordt weergegeven als een standaardwaarde onder volgende vorm:

7u30 wordt weergegeven als 730
16u15 wordt weergegeven als 1615

Hoe maak ik daar dan een tijd van?

Kan ik bv als derde van rechts een ":" invoeren?
 
Laatst bewerkt:
Zet een cel in de eigenschappen op Tijd en deze formule er in:
PHP:
=TIJDWAARDE(SUBSTITUEREN(A1;"u";":"))
Of, als je dat voldoende vind, alleen de u vervangen door niks:
PHP:
=SUBSTITUEREN(A1;"u";"")
 
Laatst bewerkt:
De eigenschap van de cel met de formule op tijd zetten.
Als 730 in A1 staat:

Code:
=(LINKS(A1;LENGTE(A1)-2)/24)+(RECHTS(A1;2)/1440)
 
Als mijn tijd in Excel wordt weergegeven als een standaardwaarde onder volgende vorm:

7u30 = 730
16u15 = 1615

Hoe maak ik daar dan een tijd van?

Het is 730 of bv 1615 dat als waarde in de broncel staat. Ik zou er dus op uw werkwijze een ":" moeten tussen zetten. Deze moet dan echter op de 2de plaats van rechts komen.
 
Heb je #2 wel gelezen?
En ik zou dus de ":" op de derde plaats van rechts zetten.
 
Laatst bewerkt:
En dat staat in #2 beschreven.
Dan vervang je in de 2e optie dat niks, "", toch door een ":"?
 
Er moet helemaal geen "u" vervangen worden. Gijsbert heeft het denkik bij het juiste eind.

Er staat in de beginsituatie al 730 of 1615 toch
 
Lekker duidelijk dus in #1, vandaar dus altijd een voorbeeld document plaatsen.
 
Inderdaad vrij onduidelijk voorbeeld.

Zo geen extra kolom nodig.
 

Bijlagen

  • testt.xlsm
    16,8 KB · Weergaven: 30
Inderdaad vrij onduidelijk voorbeeld.

Zo geen extra kolom nodig.

O dat is super dank je wel!!

Waar pas ik nu juist mijn range aan? Bv toepassen op kolom Van C2 tot C10?

Sorry, ik ben helaas geen IT'er noch een Excel'er. Ik ben de pineut die van de chef cijfers moet invoeren en dat graag wat sneller en automatischer wil doen. Ik ben al blij dat ik ondertussen weet hoe ik een stukje macrocode toevoeg. :( Alles wat ik op Google vond, werkte niet.

Werkt het ook als hij een cel tegenkomt die leeg is?

Kan ik ook een worksheet toevoegen waarop ie dat moet toepassen, want er zitten er meerdere in de file?

Alvast nog 'ns heel erg bedankt allemaal!
 
Laatst bewerkt:
Dat kan, plaats even een voorbeeldbestand. Ik kan niet gokken hoe je bestand er uit ziet:d

Plak deze eens. Misschien kom je er zo wel uit met het aanpassen van je range. Er zit ook nog een extra controle in wat voldoet aan je vraag of het lege cellen overslaat.

Code:
Sub j()
Dim cell As Range
 For Each cell In Range("C2:C10").Cells
  a = Len(cell)
  If Len(cell) < 5 And cell <> "" Then cell = Format((Left(cell, a - 2) / 24) + (Right(cell, 2) / 1440), "h:mm")
 Next
End Sub
 
Laatst bewerkt:
Ja dat kan, mijn excuses.

Het was eigenlijk de bedoeling dat het tijdsverschil zou worden uitgerekend, maar zoals u ziet staan de data en tijd niet in het juiste formaat en in aparte kolommen.

Alvast dank!
 

Bijlagen

  • Map1.xlsx
    9,2 KB · Weergaven: 29
Dus het verschil uitrekenen tussen kolom C en E?

Run deze eens en dan in cel F2 (doortrekken)
Code:
E2-C2

Code:
Sub j()
Dim cell As Range
 For Each cell In Range("C2:C200, E2:E200").Cells
  a = Len(cell)
  If Len(cell) < 5 And cell <> "" Then cell = Format((Left(cell, a - 2) / 24) + (Right(cell, 2) / 1440), "h:mm")
 Next
End Sub
 
Laatst bewerkt:
DE - BC gecombineerd. Want in dit geval zijn de datums in B en D gelijk, maar dat is niet altijd zo.
 
Laatst bewerkt:
???
Code:
a = Len(Cell)
If a < 5

Code:
Sub hsv()
 Cells(1).CurrentRegion.Columns(3).Offset(1).Name = "b"
 [b] = [if(b="","",transpose(text(transpose(b),"##\:##")))]
 [b].Offset(, 2) = [if(offset(b,,2)="","",transpose(text(transpose(offset(b,,2)),"##\:##")))]
End Sub
 
Laatst bewerkt:
Als formule in F2
Code:
=(text(d2;"0000-00-00")+text(e2;"00\:00"))-(text(b2;"0000-00-00")+text(c2;"00\:00"))
 
Dat kan, plaats even een voorbeeldbestand. Ik kan niet gokken hoe je bestand er uit ziet:d

Plak deze eens. Misschien kom je er zo wel uit met het aanpassen van je range. Er zit ook nog een extra controle in wat voldoet aan je vraag of het lege cellen overslaat.

Code:
Sub j()
Dim cell As Range
 For Each cell In Range("C2:C10").Cells
  a = Len(cell)
  If Len(cell) < 5 And cell <> "" Then cell = Format((Left(cell, a - 2) / 24) + (Right(cell, 2) / 1440), "h:mm")
 Next
End Sub

O dat werkt heel mooi! Hartelijk dank!

Ik moet nu nog kolom B en D omzetten in een datum. Ik had iets dat werkte, maar ook niet met range helaas.

Kolom B & D staan als getal yyymmdd en zouden dus als datum moeten verschijnen.
 
Code:
Sub hsv()
 Cells(1).CurrentRegion.Columns(2).Offset(1).Name = "b"
  [b] = [if(b="","",transpose(text(transpose(b),"####\/##\/##")))]
  [b].Offset(, 1) = [if(offset(b,,1)="","",transpose(text(transpose(offset(b,,1)),"##\:##")))]
  [b].Offset(, 2) = [if(offset(b,,2)="","",transpose(text(transpose(offset(b,,2)),"####\/##\/##")))]
  [b].Offset(, 3) = [if(offset(b,,3)="","",transpose(text(transpose(offset(b,,3)),"##\:##")))]
  [b].Offset(, 4) = [index((offset(b,,2)+offset(b,,3))-(b+offset(b,,1)),)]
 Columns(6).NumberFormat = "[h]:mm"
End Sub
 
Watt is er mis met de formule in #17? Het toch om het verschil? (Al is het niet de initiële vraag)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan