02. september 2008 - 14:17Der er
11 kommentarer og 1 løsning
Placering af tid ift dato vha Userform
Hej
Jeg ønsker at lave et regneark som skal virke som grundlag for registrering af møde og gå tider. I arket har jeg en userform der skal kunne registrere mødetid vha en knap, samme userform har selvfølgelig også en "gå knap" Samt en liste hvor den enkelte kan finde sit navn og et dato felt
Mit problem opstår når jeg ønsker at gemme registreringen. Jeg bruge følgende kode, men det virker desværre ikke.
Private Sub cmbMødt_Click() If lstcNavne.Text = Henrik_Hanse Then Worksheets(Henrik_H).Activate End If
Range("B5").Select If Dato.Text = ("A5") Then ActiveCell.Value = Now
ElseIf Dato.Text = ("A6") Then Range("B6").Activate ActiveCell.Value = Now
ElseIf Dato.Text = ("A7") Then Range("B7").Activate ActiveCell.Value = Now
ElseIf Dato.Text = ("A8") Then Range("B8").Activate ActiveCell.Value = Now
ElseIf Dato.Text = ("A9") Then Range("B9").Activate ActiveCell.Value = Now End If
Unload Me End Sub
Jeg syntes ellers selv at det er rimeligt simpelt, men.... Håber på hjælp MVH' Ups
jeg har rettet, hjælper det, du skriver desværre ikke, hvad der ikke virker.
Private Sub cmbMødt_Click() If lstcNavne.Text = Henrik_Hanse Then Worksheets(Henrik_H).Activate End If
Select Case Dato.Text Case "A5" Range("B5") = Now Case "A6" Range("B6") = Now Case "A7" Range("B7") = Now Case "A8" Range("B8") = Now Case "A9" Range("B9") = Now End Select
Jeg kan ikke få tiden registreret på den rigtige linie ift hvilken linie datoen befinder sig.
Jeg har en række medarbejdere, der først finder deres navn på en liste, derefter trykker "mødt" Ideen er så at deres mødetid (=Now), bliver registreret i den rigtige celle, i den linie hvor datoen findes. Jeg har prøvet dit forslag men det virker heller ikke MVH Ups
Private Sub cmbMødt_Click() If lstcNavne.Text = "Henrik_Hanse" Then Worksheets("Henrik_H").Activate End If
Select Case Dato.Text Case "A5" Range("B5") = Now Case "A6" Range("B6") = Now Case "A7" Range("B7") = Now Case "A8" Range("B8") = Now Case "A9" Range("B9") = Now End Select
Jeg forstår det ikke, det virker altså ikke! Jeg har selvfølgelig tjekket alt vedr. stavning ;-) o.l. men der kommer intet i cellen. Jeg har formateret cellen til timer minutter sek., men det er vel ikke det der er problemet? Jeg har også sikret at datoen er formateret ens både i de enkelte ark, samt i Userformen.
indtil videre, blev det til et par rettelser i arkene, og så denne kode:
Private Sub cmbMødt_Click() Dim D As Variant Worksheets(lstcNavne.Column(1)).Activate ' i lstcNavne.Column(1) ligger navnene på arket, det er det der står i B kolonnen i Arket Info D = Range(Range("A1"), Range("A65536").End(xlUp)) For i = 1 To UBound(D) ' sætter det valgte arks datoer ind i en variabel If D(i, 1) = DateValue(Dato) Then ' finder datoen, der passer col = 2
Do If IsEmpty(Cells(i, col)) Then ' tjekker om cellen er tom, hvis ikke, tjekkes næste start kolonne Exit Do End If col = col + 2 Loop
Cells(i, col) = Now ' sætter tiden i kolonne B Exit For End If Next Unload Me End Sub
Private Sub UserForm_Activate() Dim Navne As Variant ' Læser person og ark navne ind i en variabel, den finder selv antallet Navne = Worksheets("Info").Range(Worksheets("Info").Range("A2"), Worksheets("Info").Range("B65536").End(xlUp)) With lstcNavne .List = Navne ' smækker data ind i combo .ListIndex = 0 End With Dato.Text = Format(Now, "dd-mm-yyyy") End Sub
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.