17. maj 2008 - 13:08Der er
23 kommentarer og 1 løsning
Et program eller exelark der kan lave tidslinier
Hej Alle,
Findes der et program (gratis) der kan lave tidslinier? Eller findes der et smart exelark som kan lave dette (jeg har fundet et, som kan lave det over år - men jeg skal bruge det helt nede til enkelte dage og måneder)?
--> hasse16 - du kan jo benytte den viste skabelon som et oplæg til hvordan det kan laves - det behøver ikke være med det rullepanel der er i skabelonen. /Be_Nice
Men jeg kan simpelthen ikke få den til at virke.. Det ville være ekstra fedt, hvis der fandtes noget, hvor der bare poppede en dialogboks op, som man kunne skrive dato og år ind i.. :)
Jeg vil gerne have det sådan, at jeg evt. blot kan indtaste en dato og en beskrivelse hurtigt. Når jeg er færdige med indtastninger, skal den blot vise en tidslinie, som ligner den i dette link:
Nu er det jo blevet lidt af en udfording - så hvis du blot har lidt tålmodighed - så vil jeg gerne afse den nødvendige tid - imellem de øvrige opgaver.
Sådan blev koden (I Userform til indtastning af dato + tekst):
Dim ræk1 Dim eArk Dim tlArk, tlkol, vmål Private Sub CommandButton1_Click() 'ok Dim dato As Date dato = Me.TextBox1 Cells(ræk1, 1) = dato Cells(ræk1, 2) = Me.TextBox2
ActiveSheet.Columns.AutoFit
Me.TextBox1 = "" Me.TextBox2 = ""
ræk1 = ræk1 + 1
Me.TextBox1.SetFocus End Sub Private Sub CommandButton2_Click() 'Afslut svar = MsgBox("Opbyg Tidslinien", vbYesNo)
If svar = 6 Then sorterIflgDato opbygTidslinien End If tlArk.Activate
Unload UserForm1 End Sub Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim dato, dd, mm, åå If Me.TextBox1 <> "" And IsNumeric(Me.TextBox1) = True Then dato = Me.TextBox1 dd = Left(dato, 2) mm = Mid(dato, 3, 2) åå = Right(dato, 2)
If Len(dato) = 6 Then Me.TextBox1.Value = dd + "-" + mm + "-" + åå Else Me.TextBox1 = "?" Exit Sub End If End If End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) Me.CommandButton1.SetFocus End Sub Private Sub UserForm_activate() ræk1 = findFørsteRække End Sub Private Function findFørsteRække() 'Find første tomme række Dim FaktaArk Set FaktaArk = ActiveWorkbook.Sheets("Fakta") For ræk = 2 To 65000 If Cells(ræk, 1) = "" Then findFørsteRække = ræk Exit Function End If Next ræk End Function Private Sub sorterIflgDato() Range("A2").Select Range("A1:B" & CStr(ræk1 - 1)).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub Private Sub opbygTidslinien() tlkol = 1
Set tlArk = ActiveWorkbook.Sheets("TidsLinie") tlArk.Activate ActiveSheet.Cells.Clear
Set eArk = ActiveWorkbook.Sheets("Fakta") eArk.Activate
For ræk = 2 To 240 If ActiveSheet.Cells(ræk, 1) = "" Then Exit For Else dato = ActiveSheet.Cells(ræk, 1) tekst = ActiveSheet.Cells(ræk, 2) opSætning dato, tekst, tlkol eArk.Activate End If Next ræk End Sub Private Sub opSætning(dato, tekst, tlkol) tlArk.Activate
tlArk.Cells(10, tlkol) = dato
If tlkol Mod 2 <> 0 Then farve = 36 vorient = xlTop Else farve = xlNone vorient = xlBottom End If
Rem Indsæt dato Columns(tlkol).ColumnWidth = 10
Cells(10, tlkol).Select With Selection .Value = dato .Font.Bold = True .HorizontalAlignment = xlCenter End With
Rem Flet 5 celler Range(Cells(5, tlkol), Cells(9, tlkol)).Select
With Selection.Interior .ColorIndex = farve .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With
Cells(5, tlkol) = tekst
tlkol = tlkol + 1 End Sub
Synes godt om
Ny brugerNybegynder
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.