Avatar billede mira96ac Novice
10. december 2007 - 22:18 Der er 5 kommentarer og
1 løsning

Udskriv oversigt

Hej

Jeg har følgende funktion på en knap i min userform.
Når man trykker er pointen, at man for den valgte medarbejder, kan indtaste et ugenr. og den opsummerer hvor mange timer personen har haft. Den tæller selv på informationer i et bagvedliggende ark.

Men er der nogle som kan lave en smartere funktion.
Jeg forestiller mig en som f.eks. åbner et vindue hvor man stadig kan vælge ugenr. (drop down eller lignende) men når man så vælger vises hele ugen på datoer hvad personen har lavet og opsummeret timerne. Fra dette lille oversigtsbillede kan man så også udskrive medarbejderens uge.

Informationer i Excel arket er:

Kolonne A = Medarbejdernr.
Kolonne B = Medarbejdernavn
Kolonne C = Projekt
Kolonne D = Dato (dd-mm-åå)(kan dække over flere år)
Kolonne E = Ugenr.
Kolonne F = Timer
Kolonne G = Udført arbejde

Nogle som vil hjælpe med en god ide og et eksempel.

Nuværende funktion.
Private Sub CommandButton1_Click()
Dim r, tal, last, t
last = Cells(65500, 1).End(xlUp).Row
e = InputBox("Indtast ugenr. ")
If e = "" Then Exit Sub
For t = 11 To last
If Cells(t, 5) = CDec(e) Then tal = tal + Cells(t, 6)
Next
If tal = 0 Then MsgBox ("Medarbejdernr. ") & Me.f_medarbnr & (" har ingen timer i uge ") & e: Exit Sub
MsgBox ("Medarbejdernr. ") & Me.f_medarbnr & (" har ") & tal & (" time(r) i uge ") & e
End Sub
Avatar billede mira96ac Novice
14. december 2007 - 09:08 #1
Slet ikke nogle som har nogle ideer/løsninger ?
Avatar billede excelent Ekspert
14. december 2007 - 19:31 #2
har ikke lige haft tid, måske i løbet af weekenden - lover ikke noget :-)
Avatar billede mira96ac Novice
15. december 2007 - 13:36 #3
Super

Jeg afventer og ser om du får tid...
Avatar billede excelent Ekspert
16. december 2007 - 15:21 #4
Send lige en mail, så returnerer jeg hvad jeg forløbig har
pm@madsen.tdcadsl.dk
Avatar billede excelent Ekspert
23. december 2007 - 16:22 #5
Private Sub CommandButton1_Click()

Set sh = ActiveSheet 'Sheets("Ark1")
rk = sh.Cells(65500, 1).End(xlUp).Row
Me.ListBox1.Clear: Me.ListBox2.Clear: Me.ListBox3.Clear: Me.ListBox4.Clear For t = 11 To rk If Cells(t, "E") = Val(Me.ComboUge) And Year(Cells(t, "D")) =
Val(Me.ComboÅr) And Cells(t, "A") = Val(Me.TextBoxNr) Then Me.ListBox1.AddItem sh.Cells(t, "F"): ugeSum = ugeSum + sh.Cells(t, "F") 'timer Me.ListBox2.AddItem sh.Cells(t, "G") 'job Me.ListBox3.AddItem Format(sh.Cells(t, "D"), "dd-mm-yy") 'dato Me.ListBox4.AddItem sh.Cells(t, "C") 'projekt End If Next Me.TextBoxUgesum = ugeSum

End Sub


Private Sub CommandButton2_Click() 'Find Fra dato til dato
Set sh = ActiveSheet 'Sheets("Ark1") rk = sh.Cells(65500, 1).End(xlUp).Row
Me.ListBox1.Clear: Me.ListBox2.Clear: Me.ListBox3.Clear: Me.ListBox4.Clear For t = 11 To rk If Cells(t, "D") >= CDate(Me.FraDato) And Cells(t, "D") <= CDate(Me.TilDato) And Cells(t, "A") = Val(Me.TextBoxNr) Then Me.ListBox1.AddItem sh.Cells(t, "F"): ugeSum = ugeSum + sh.Cells(t, "F") 'timer Me.ListBox2.AddItem sh.Cells(t, "G") 'job Me.ListBox3.AddItem Format(sh.Cells(t, "D"), "dd-mm-yy") 'dato Me.ListBox4.AddItem sh.Cells(t, "C") 'projekt End If Next Me.TextBoxUgesum = ugeSum
End Sub

Private Sub CommandButtonPrint_Click() 'Find uge
If MsgBox("Print Form ? ", vbYesNo) = vbYes Then Set sh1 = Sheets("Udskriv")
sh1.Range("B2") = Me.TextBoxNavn & " -  Uge " & Me.ComboUge & " -  År " & Me.ComboÅr sh1.Range("B5:F100").ClearContents

For t = 0 To Me.ListBox1.ListCount - 1
sh1.Cells(t + 5, 2) = Me.ListBox3.List(t, 0) sh1.Cells(t + 5, 3) = Me.ListBox1.List(t, 0) sh1.Cells(t + 5, 4) = Me.ListBox4.List(t, 0) sh1.Cells(t + 5, 5) = Me.ListBox2.List(t, 0) Next End If Application.ScreenUpdating = False ark = ActiveSheet.Name: sh1.Select rk = sh1.Cells(100, 2).End(xlUp).Row sh1.Range("B" & rk + 1) = "Timer ialt"
sh1.Range("C" & rk + 1) = Me.TextBoxUgesum sh1.Range("B1:E" & rk + 1).Select UserForm1.Hide Selection.PrintPreview 'Selection.PrintOut sh1.Cells(1, 1).Select Sheets(ark).Select UserForm1.Show Application.ScreenUpdating = True
End Sub

Private Sub TextBox1_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer) Calendar1.Visible = True
End Sub
Avatar billede mira96ac Novice
23. december 2007 - 17:01 #6
Takker mange gange for hjælpen
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