10. januar 2002 - 15:46Der er
5 kommentarer og 1 løsning
Rullegardin i værktøjslinien !!
Jeg er interesseret i at oprette et rullegardin, indeholdende en liste med tekster og værdier som jeg hyppigt benytter. Da det er generelt gældende ønsker jeg ikke at knytte proceduren til en fil men som en del af min værktøjslinie.
Systemet skal herefter indsætte det valgte i den aktuelle celle.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Det lyder lidt som om du leder efter samme funktion som Word har med autotekster - det har Excel desværre ikke, men du er inde på den rigtige løsning.
Start med at optage at du sætter et eller andet ind. Vælg Vis/Værktøjslinier/Tilpas Vælg fanen \"Kommandoer\" Vælg Kategorien \"Ny menu\" og træk den op på din værktøjslinie
Vælg derefter kategorien makoer og træk den brugerdefinere knap op i menuen Højreklik på knallen og tildel den din tidligere optagne makro
Sikken en opgave! Så fik jeg da bevæget mig ud i noget jeg ikke har prøvet før, men har er sådan et rullegardin. Du har nu to valgmuligheder: 1. i det regneark hvor du smider koden ind, kan du lave en liste i ark1 kolonne A lige lang du ønsker. Når arket åbnes bliver det automatisk indlæst. (du kunne jo smide det hele over i personal.xls) 2.Du kan slette alle linier med tre stjerner og selv sætte listen direkte ind i VBA. (eks er vist med test osv.)
Sub auto_open() Set tw = ThisWorkbook.Worksheets(1) \'*** x = Application.WorksheetFunction.CountA(tw.Columns(1)) \'*** Set rng = tw.Range(\"a1:A\" & x) \'*** Set myBar = CommandBars _ .Add(Name:=\"Custom\", Position:=msoBarTop, _ Temporary:=True) With myBar .Controls.Add Type:=msoControlComboBox, ID:=1 .Visible = True End With With CommandBars(\"Custom\").Controls(1) \'.AddItem \"test 1\", 1 \'.AddItem \"test 2\", 2 \'.AddItem \"test 3\", 3 \'.AddItem \"test 4\", 4 For i = 1 To x \'*** .AddItem rng.Cells(i, 1), i \'*** Next i \'*** .ListIndex = 1 .Caption = \"Test data\" .DescriptionText = \"Se testdata\" .OnAction = \"PutInCell\" End With End Sub
Sub PutInCell() On Error GoTo ud Dim userChoice As Long userChoice = CommandBars(\"Custom\").Controls(1).ListIndex us1 = CommandBars(\"Custom\").Controls(1).List(userChoice) ud: ActiveCell.Value = us1 End Sub
Tak til bak.....det var lige hvad jeg søgte og den kører bare perfekt !
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.