24. marts 2004 - 18:50Der er
43 kommentarer og 1 løsning
Hjælp til udarbejdelse af excelskabelon
Først vil jeg lige sige at jeg er helt Grøn i det her, så derfor har jeg sat mange point på højkant da jeg sikkert skal have en del hjælp.
Jeg skal have lavet et exceldokument til at registrere løbsresultater i.
Hvert løb skal have hver sit ark, der hedder 1, 2, 3 osv tallene står for løbsnummeret.
Hvert ark skal se ud som følger:
| A B C D E ---------------------------------------------------------- 1 | Damer 50+ Afsluttet 2 | 1 Kira Sorø 1.48,2 3.48,1 3 | 2 Marie Birkerød 1.56,2 3.52,6 4 | 3 Tine Bagsværd 1.56,9 3.59,3 5 | 4 Marie Rungsted 1.59,4 3.59,5 6 | 5 Katrine Rungsted 2.00,6 4.04,9
Der er fire steder hvor jeg godt kunne tænke mig at lave lidt funktionalitet:
1) Kan man lave en knap, som man kan trykke på for at lavet et nyt ark, hvor der så kommer en popup besked der spørger efter løbsnummer og løbsnavn. Løbsnummeret skal så blive til navnet på arket, og løbsnavnet skal sættes ind i felt B1.
2) Kan man lave feltet C1 som en dropdownbox med følgende valgmuligheder: ikke afviklet, afsluttet, aflyst
3) Kan man låse felterne, så man kun kan skrive i felterne A2-A15, B1-B15, C1-C15, D2-D15 og E2-E15
4) Kan man farve alle de felter man ikke kan rette i
Jeg håber meget der er en der vil hjælpe mig, selv om det vidst er et lidt stort projekt :-)
Skal koden for knappen se såldes ud: Sub Knap1_Klik() Sub NytArk() Arknavn = InputBox("Indtast Løbsnummer") overskrift = InputBox("Indtast Løbsnavn") Sheets.Add ActiveSheet.Name = Arknavn Sheets(Arknavn).Range("B1") = overskrift End Sub End Sub
Sub NytArk() Arknavn = InputBox("Indtast Løbsnummer") overskrift = InputBox("Indtast Løbsnavn") Sheets.Add ActiveSheet.Name = Arknavn Sheets(Arknavn).Range("B1") = overskrift End Sub eller
Sub Knap1_Klik() Arknavn = InputBox("Indtast Løbsnummer") overskrift = InputBox("Indtast Løbsnavn") Sheets.Add ActiveSheet.Name = Arknavn Sheets(Arknavn).Range("B1") = overskrift End Sub
det kommer an på hvilken en du kalder fra knappen, det kan du altid ændre ved knappen
Sub NytArk() arknavn = InputBox("Indtast Løbsnummer") For Each ws In Worksheets If ws.Name = arknavn Then MsgBox "Løbs nummeret er allerede oprettet", , "Advarsel" Exit Sub End If Next overskrift = InputBox("Indtast Løbsnavn") ActiveSheet.Copy Before:=Sheets(1) ActiveSheet.Name = arknavn Sheets(arknavn).Range("B1") = overskrift End Sub
det lyder meget spændende, hvordan laver jeg det??
Jeg tror faktisk jeg er ved at have lavet det som jeg skal, og det er ret blæret :-)
Jeg har lavet et ark jeg har kaldt skabelon, som jeg kopiere fra, men er det muligt at man kan fryse arket, så brugerne ikke kommer til at redigere i skabelonen?
Range("A1:E1").Select With Selection .HorizontalAlignment = xlCenter End With Selection.Merge With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = 3 End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = 3 End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = 3 End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = 3 End With End If Range("a2:f31").Select ' sletter alle data i området til hyperlink Selection.ClearContents ' der kan jo være fjernet sider ??? Range("a2").Select '-----------------------------------------Der laves hyperlink til alle ark ------------- For Each ws In Worksheets Worksheets("Menu").Range("a2:a150").Cells(W, K).Select ' reseverer et område til at skrive hyperlink i
If ws.Name = "Menu" Then GoTo Næste ' Hopper over hovedarket "Menu"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & ws.Name & "'" & "!A1" ActiveCell.FormulaR1C1 = ws.Name ' skriver hyperlink på alle sider inden for området W = W + 1 Næste: Next ws '------------------------------Soterer kollonne A ---------------------------- Range("A2:A150").Select Selection.Sort Worksheets("Menu").Columns("A"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'--------------- Flytter data over i 4 kolonner ------------------------ Range("A31:A59").Select Selection.Cut Range("B2").Select ActiveSheet.Paste Range("A60:A88").Select Selection.Cut Range("C2").Select ActiveSheet.Paste Range("A89:A117").Select Selection.Cut Range("d2").Select ActiveSheet.Paste Range("A118:A146").Select Selection.Cut Range("e2").Select ActiveSheet.Paste Columns("A:E").Select Selection.ColumnWidth = 22 Range("d30").Select
Jeg har været lidt fræk at lave følgende kode til addSheet knappen:
Sub AddSheet() Do Until arknavn > "" arknavn = InputBox("Indtast Løbsnummer") For Each ws In Worksheets If ws.Name = arknavn Then MsgBox "Løbs nummeret er allerede oprettet", , "Advarsel" arknavn = "" End If Next Loop Do Until overskrift > "" overskrift = InputBox("Indtast Løbsnavn") Loop ActiveSheet.Copy Before:=Sheets("skabelon") ActiveSheet.Name = arknavn Sheets(arknavn).Range("B1") = overskrift End Sub
Jeg har lavet loopne for at der ikke skal komme en fejl, hvis der ikke er indtastet et sheetnavn og et løbsnavn, men nu kan man kun komme ud af funktionen hvis man indtaster noget,og det er jo ikke godt, hvis man kommer til at trykke på knappen ved en fejl :-(
Sub AddSheet() Do Until arknavn > "" arknavn = InputBox("Indtast Løbsnummer") For Each ws In Worksheets If ws.Name = arknavn Then MsgBox "Løbs nummeret er allerede oprettet", , "Advarsel" arknavn = "" End If Next Loop Do Until overskrift > "" overskrift = InputBox("Indtast Løbsnavn") Loop ActiveSheet.Copy Before:=Sheets("skabelon") ActiveSheet.Name = arknavn Sheets(arknavn).Range("B1") = overskrift call menu End Sub
Do Until arknavn > "" arknavn = InputBox("Indtast Løbsnummer") If arknavn = "" Then Exit Sub ' NY LINIE For Each ws In Worksheets If ws.Name = arknavn Then MsgBox "Løbs nummeret er allerede oprettet", , "Advarsel" arknavn = "" End If Next Loop Do Until overskrift > ""
jeg troede at det ville sikre at den altid lavede en kopi af det skjulte ark der hedder skabelon, men det ser ud til at den laver en kopi af det sheet man klikker på knappen fra
Når du kopier et skjult ark er det nye ark også skjult så:
Sub NytArk() Do Until arknavn > "" arknavn = InputBox("Indtast Løbsnummer") If arknavn = "" Then Exit Sub For Each ws In Worksheets If ws.Name = arknavn Then MsgBox "Løbs nummeret er allerede oprettet", , "Advarsel" arknavn = "" End If Next Loop Do Until overskrift > "" overskrift = InputBox("Indtast Løbsnavn") Loop
okay, jeg prøver mig frem. Tak fo hjælpen :-) endnu engang
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.