/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Tiden volder kvaler i Excel
Fra : Riallica
Vist : 899 gange
150 point
Dato : 04-06-03 19:21

Jeg har lavet et lille ark som jeg bruger til beregning af arbejdstimer, det volder dog store problemer.

Celle A1 indeholder mødetidspunkt: f.eks 11:00
Celle B1 indeholder sluttidspunkt: f.eks 19:00
Celle C1 beregner antal timer.

Ideen var så : At celle d1 skulle beregne aftentillæget i perioden 18:00 - 08:00

Problemet ligger så i at møde og slut-tidspunkt kan variere på hele døgnets timer, så man kan også møde om natten og gå hjem om morgenen.

Er dette umuligt ??, jeg har selv prøvet med uhyggelig mange "hvis" formler. (forgæves)

Løsninger i både VBA og alm. formler er yderst velkomne, da jeg snart får "flimmer" af dette irriterende ark.

 
 
Kommentar
Fra : emesen


Dato : 04-06-03 20:15

og tegnene genkendes som dato- og klokkeslætsseparatorer, f.eks. skråstreg (/) og bindestreg (-) i datoer og kolon (:) i klokkeslæt på USA-baserede systemer
Exel:
A1 indtastet 01-01-03 07:00
B1 indtastet 01-01-03 07:30
C1 = B1-A1
Marker kolonne C1>formater celler>klokkeslet/type vælg 22:15>ok
Resultat i C1 >00:30<
A2 01-01-03 07:00
B2 02-01-03 07:30
C1 =B2-A2 >formater celler>brugerdefineret>marker [t]:mm:ss>i typeruden slet :ss
Resultat i C2 >24:30< et døgn og 30 min
Der er du vel også kommet til, så nu kommer selve regnestykket, men der er jeg ikke kommet til endnu. Måske skal det være i flere kolonner, så dato og klokkeslet bliver adskilt
Emesen.


Kommentar
Fra : Riallica


Dato : 04-06-03 20:59

Fuldstændig korrekt, jeg er kommet til selve regnestykket. Problemet var bare at jeg "formlede" mig ihjel med "hvis'er"

Jeg har en VBA kode i arket der via en event autofuldfører indtastninger i "mødetid" og "Sluttid"
Dvs. skriver jeg : 700
Laver makroen det om til 7:00 så den bliver formateret [t]:mm (iøvrigt en sjov lille ting)
Så datoen behøver vi ikke tage højde for.

VH

Riallica



Kommentar
Fra : Riallica


Dato : 04-06-03 21:01

Bare en enkelt kolonne, hvis det er muligt

Riallica

Kommentar
Fra : emesen


Dato : 04-06-03 22:24

navngive felter 18:00 = aften og 08:00 = morgen og faktor1 = lav og faktor2 = høj
=((slut-start)*lav)+"tillæg"(hvis(slut>=aften;((slut-aften)*høj);)
Nu forudsætter jeg at der er statet før 1800 og slutter efter 1800
jeg beregner hele tiden til lav faktor1 og lægger tiden fra 1800 til slut oven i med en høj faktor2 Faktorerne 1 og 2 kan ændres løbende.
"tillæg" bruges ikke i formlen.
Det skulle være den ene halvdel af formlen.
Jeg har ikke prøvet endnu, men det vil jeg gøre, bare ikke i dag.
Emesen.

Accepteret svar
Fra : elynge

Modtaget 150 point
Dato : 05-06-03 00:54

Håber du kan bruge følgende VBA Sub:


Sub Arbejdstid()
Dim colTidspunkt As New Collection
Dim t As Double
Dim mødetid As Double
Dim fyraften As Double
Dim tillægstid As Double
Dim i As Integer
Dim iMødetid As Integer
Dim iFyraften As Integer

Ark1.Rows(1).NumberFormat = "hh:mm"

t = 1 / 3#
colTidspunkt.Add t, "T1"

t = 3 / 4#
colTidspunkt.Add t, "T2"

t = 4 / 3#
colTidspunkt.Add t, "T3"

t = 7 / 4#
colTidspunkt.Add t, "T4"

t = 2#
colTidspunkt.Add t, "T5"

mødetid = Ark1.Cells(1, "A").Value
fyraften = Ark1.Cells(1, "B").Value

If mødetid > fyraften Then fyraften = fyraften + 1

Ark1.Cells(1, "C").Value = fyraften - mødetid

i = 1
Do While mødetid > colTidspunkt.Item(i)
i = i + 1
Loop
iMødetid = i
colTidspunkt.Add mødetid, "mødetid", i

Do While fyraften > colTidspunkt.Item(i)
i = i + 1
Loop
iFyraften = i
colTidspunkt.Add fyraften, "fyraften", i

tillægstid = 0#
For i = iMødetid To iFyraften - 1
If i / 2 - i \ 2 Then
tillægstid = tillægstid + colTidspunkt.Item(i + 1) - colTidspunkt.Item(i)
End If
Next i

Ark1.Cells(1, "D").Value = tillægstid

Set colTidspunkt = Nothing
End Sub

MVH
ELM


Kommentar
Fra : Riallica


Dato : 06-06-03 11:18


Kanon elynge

Du har reddet min dag, din kode virker helt fantastisk.... Du har prøvet det før, har du ikke ??
Havde jeg flere point havde du fået hele dynen.

Fantastisk weekend til dig

Mvh
Riallica

Godkendelse af svar
Fra : Riallica


Dato : 06-06-03 11:23

Tak for svaret elynge, Her er dine point.

(Hold kæft hvor var det fedt)
                        

Kommentar
Fra : seventiz


Dato : 20-11-03 09:46

Hej, jeg har søger i flere uger... der er intet på nettet og nu er jeg lykkelig

jeg skal bruge den fantastk formel, men når jeg prøve at indsæt makro
det vise en fejl ** End If Next i** på sidste??
Jeg har ingen forstand, hvad er formel ex. =navn(a1-a2)??
tak for hjælp

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste