Avatar billede omdal Nybegynder
02. august 2010 - 15:51 Der er 29 kommentarer og
2 løsninger

Nedtælling til specifik tidspunkt (dynamisk)

Hej nu gider jeg ikke lede længere ;)

Hvordan laver jeg en formel i excel, som tæller ned til et specifikt tidspunkt?

Som I hvor mange timer;minutter;sekunder der er til kl. 16 fra klokken NU ;) ... jeg har forsøgt mig lidt med =TIME(16;00;00)-((TIME(NU()) agtigt noget .. men det fungere da bare slet slet ikke ;) derudover vil jeg gerne have den er dynamisk, så den rent faktisk tæller ned .. Kan dette lade sig gøre ?
Avatar billede ae03 Novice
02. august 2010 - 15:57 #1
Se følgende guide. Den er god at blive klog på ift. regning med dato og tid:
http://www.eksperten.dk/guide/681
Avatar billede store-morten Ekspert
02. august 2010 - 19:33 #2
Fundet på nettet:

OK, this isn't exactly simple.

It requires these steps:

- Open your file in Excel
- Open the visual basic editor from Excel (Alt-F11)
- in the project explorer window (open that window using the "View" menu if it isn't open already), locate your file and double click on it.
- Choose "Insert, Class module" from the menu
- Open the properties window (View, properties) and change the Name of the class (now reads "Class1") to clsTimer.
- IN the code window of clsTimer paste this code:

Option Explicit

Private msCellAddress As String
Private mdtEndTime As Date

Public Property Get CellAddress() As String
  CellAddress = msCellAddress
End Property

Public Property Let CellAddress(ByVal sCellAddress As String)
  msCellAddress = sCellAddress
End Property

Public Property Get EndTime() As Date
  EndTime = mdtEndTime
End Property

Public Property Let EndTime(ByVal dtEndTime As Date)
  mdtEndTime = dtEndTime
End Property


- Insert a module (Insert, module from the menu)
- paste in this code:

Option Explicit

Private mdNextTime As Double
Private mcolTimers As Collection

Public Function CountDown(EndTime As Date) As Variant
  Dim cTimer As clsTimer
  Dim sCellAddress As String
  sCellAddress = Application.Caller.Address(external:=True)
  Application.Volatile
  If TypeName(Application.Caller) <> "Range" Then
  Else
      If IsIn(mcolTimers, sCellAddress) Then
          Set cTimer = mcolTimers(sCellAddress)
          mcolTimers.Remove sCellAddress
      Else
          Set cTimer = New clsTimer
          With cTimer
              .CellAddress = sCellAddress
              .EndTime = EndTime
          End With
      End If
  End If
  With cTimer
      .CellAddress = sCellAddress
      .EndTime = EndTime
      If .EndTime - (Now - Int(Now)) > 0 Then
          CountDown = .EndTime - (Now - Int(Now))
      Else
          CountDown = 0
      End If
  End With
          If mcolTimers Is Nothing Then
              Set mcolTimers = New Collection
          End If
          mcolTimers.Add cTimer, sCellAddress
  Set cTimer = Nothing
End Function

Private Function IsIn(colCollection As Collection, sName As String)
  Dim cTimer As clsTimer
  On Error Resume Next
  Set cTimer = mcolTimers(sName)
  IsIn = (Err.Number = 0)
  Set cTimer = Nothing
End Function

Public Sub Auto_Open()
  Application.OnTime Now, "UpdateTimers"
End Sub

Public Sub Auto_Close()
  StopTimers
End Sub

Sub UpdateTimers()
  mdNextTime = Now + TimeValue("00:00:01")
  Application.OnTime mdNextTime, "UpdateTimers"
  Application.Calculate
End Sub

Sub StopTimers()
  Application.OnTime mdNextTime, "UpdateTimers", , False
End Sub

- Now in any cell, enter a formula like this:

=CountDown(Time(16,20,00))
and format the cell as time.

- Save your file, close it and open it again.

The cell should start to count down to 00:00 (which it reaches at whatever time you entered).

Virker godt nok ikke hos mig :-(
Men hvis jeg skriver formlen: =CountDown(TID(20;0;0))
så gør den ;-)
Håber du kan bruge det.
Avatar billede store-morten Ekspert
02. august 2010 - 22:54 #3
Fundet på nettet:
Her med formler. (Fra år 2000) Opdaterer ved at holde F9 nede.
http://www.cvs.k12.mi.us/tips/attachments/countdown1.xls

Til inspiration.
Avatar billede natkatten Mester
03. august 2010 - 10:07 #4
Sjov lille ting!
Avatar billede omdal Nybegynder
03. august 2010 - 10:55 #5
ae03 > puhaa, det var noget at en smøre, den må jeg lige få læst en god gang (nok ikke mens man arbejder) ;)

Store Morten > Jeg kunne heller ikke få den til at virke ? besynderligt, heller ikke med tid(20;00... jeg får bare den der #NAVN? fejl ..

den sidste du linkede til er faktisk meget sjov, og kan måske løse problemet, formlen er vel egentlig i den et sted.
Jeg har leget lidt med at lave et felt med
=NU()
samt en med
00-00-0000 16:00

og så bare trække de to fra hinanden, men et giver igen bare en #VÆRDI!


Andre der kan komme med nogle forslag  !?? ;)
Avatar billede omdal Nybegynder
03. august 2010 - 11:10 #6
hmm jeg har delvist løst den med at lave
B5: 16:00:00
C5: TID(NU)
D5: =B5-C5

alle sammen formateres som klokkeslæt - MEN den opdatere stadig kun ved at trykke F9 :( jeg ville jo gerne have den til at være dynamisk
Avatar billede omdal Nybegynder
03. august 2010 - 12:03 #7
OG endvidere skal jeg så også lige have lavet en
=HVIS(UGEDAG;FREDAG; kun kl. 15.30 ;) hehe men det burde være til at finde ud af, efter jeg har læst guiden ;)
Avatar billede store-morten Ekspert
03. august 2010 - 12:23 #8
Måske denne:
=HVIS(UGEDAG(IDAG();2)=5;"15:30";"16:00")
Hvis ugedag er fredag = 15:30 alle andre dage 16:00
Avatar billede omdal Nybegynder
03. august 2010 - 12:36 #9
nu fejler D5: =B5-C5, den kan kan åbenbart ikke finde ud af at trække fra den formel, selvom resultatet er det samme ?
Avatar billede store-morten Ekspert
03. august 2010 - 12:42 #10
Jeg tror det er noget med formlen: =NU() som returnere både dato og klokkeslet.
Avatar billede store-morten Ekspert
03. august 2010 - 12:44 #11
Hvis du er intereseret kan jeg sende arket fra #2
Excel 2003
Avatar billede omdal Nybegynder
03. august 2010 - 12:47 #12
hmm jaah bare prøv at send det engang til omdal@live.dk ... Er der en anden formel som KUN henter tiden ?!
Avatar billede store-morten Ekspert
03. august 2010 - 12:49 #13
Sendt.
Ikke hvad jeg kan finde ud af?
Avatar billede omdal Nybegynder
03. august 2010 - 13:03 #14
jeg får bare samme #NAVN? på det ark du har mailet, kan det være fordi jeg sidder med excel 2003 ?!
Avatar billede store-morten Ekspert
03. august 2010 - 13:18 #15
Underligt?
Nej, jeg har også 2003
Hos mig tæller den ned pr sek.
Avatar billede store-morten Ekspert
03. august 2010 - 13:51 #16
Lige en ide?

Tjek indstillinger i Excel -->
Funktioner -->
Tilføjelsesprogrammer.
Jeg har flueben i dem alle.
Mistænker du mangler i 'Analysis Toolpak'
Avatar billede store-morten Ekspert
03. august 2010 - 14:05 #17
Fra: http://office.microsoft.com/da-dk/excel-help/rette-fejlen-navn-HP005203939.aspx
Rette fejlen #NAVN?
Gælder for: Microsoft Office Excel 2003

Opstår, når der i Microsoft Excel ikke genkendes tekst i en formel.

1.Klik på den celle, der indeholder fejlen, klik på den knap, der vises , og klik derefter på Spor fejl, hvis det vises.
2.Gennemse de mulige årsager og løsninger.
Mulige årsager og løsninger
Der er benyttet en funktion, som er en del af tilføjelsesprogrammet Analysis ToolPack uden at tilføjelsesprogrammet er læst ind
Avatar billede omdal Nybegynder
03. august 2010 - 15:02 #18
hmm ja de var ikke tjekket af (er de så nu) men det var den total græsk/katolsk overfor :(
Avatar billede omdal Nybegynder
03. august 2010 - 15:02 #19
prøver lige at køre en office2010 ind derhjemme og se om den bedre kan
Avatar billede omdal Nybegynder
04. august 2010 - 15:28 #20
Det kunne klares med makroer:

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, 1) ' Chekker hver sek
  Application.OnTime RunWhen, "StartTimer", , True
ActiveSheet.Range("H12:K12").Calculate
End Sub

Sub StopTimer()
On Error Resume Next
Application.OnTime RunWhen, "StartTimer", , False
End Sub


samt en 'ThisWorkBook' med kode:

Private Sub Workbook_Open()
Call StartTimer
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call StopTimer
End Sub


blot til fremtidig brug, det var excelence der kom med svaret
Avatar billede omdal Nybegynder
04. august 2010 - 15:33 #21
samt med formlerne:
K12 = REST(H12-I12;1)
I12 = =NU()
H12 = =HVIS(UGEDAG(IDAG();2)=5;--"15:30";--"16:00")
Avatar billede excelent Ekspert
04. august 2010 - 15:58 #22
Det er ok jeg står over på denne, point til morten :-)
Avatar billede store-morten Ekspert
04. august 2010 - 16:01 #23
Ok.

Mit forslag i #2 virker hos mig :-)

Med formlen:
=HVIS(UGEDAG(IDAG();2)=5;CountDown(TID(15;30;0));CountDown(TID(16;0;0)))
Avatar billede store-morten Ekspert
04. august 2010 - 16:22 #24
Nu er klokken over 16:00
excelences løsning starter for fra og tæller ned til klokken 16 i morgen :-)
Hvad gør den på torsdag efter 16:00? Tæller ned til 16:00 eller 15:30?

Hos mig stopper den på 00.00 og jeg går ud fra den starter igen ved midnat.
Avatar billede store-morten Ekspert
04. august 2010 - 16:33 #25
Mit gæt:
Torsdag efter 16:00 tælles ned til 16:00 næste dag, indtil midnat. Over midnat tælles ned til 15:30
Avatar billede omdal Nybegynder
05. august 2010 - 08:37 #26
det finder vi ud af i efter middag ;) jeg er dog smuttet inden 16, så lurer du lige det morten ;)

jeg synes minimum at pointene skal deles imellem jer, for spørgsmålet om nedtællingen blev løst af excelent ;)

Så hvis I begge lige laver et svar så fordeler jeg lige ;)
Avatar billede store-morten Ekspert
05. august 2010 - 16:08 #27
Jepp... Jeg gættede rigtigt ;-)

Jeg har prøvet min løsning på 2 andre pcér, der virker den.
Den ene viste godt nok #NAVN? (Excell 2010) men det var fordi den åbnede med makroer deaktiveret.
Avatar billede excelent Ekspert
10. august 2010 - 15:25 #28
=HVIS(OG(UGEDAG(NU();2)<6;TID(TIME(NU());MINUT(NU());SEKUND(NU()))<--"15:30:00");(DATO(ÅR(NU());MÅNED(NU());DAG(NU())+5-UGEDAG(NU();2))+--"15:30:00")-NU();"Weekend")
Avatar billede omdal Nybegynder
11. august 2010 - 15:41 #29
tak for hjælpen til jer begge ;)
Avatar billede store-morten Ekspert
15. august 2010 - 13:29 #30
#12
Er der en anden formel som KUN henter tiden ?!
prøv med: =NU()-IDAG()
Avatar billede natkatten Mester
15. august 2010 - 17:07 #31
Simpelt når man ved det (hvilket jeg ikke gjorde før nu!).
Mvh Natkatten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester