29. august 2004 - 13:55Der er
8 kommentarer og 2 løsninger
vedr formularer
Hejsa Jeg har et regneark som i udgangspunktet styres af en formular "hovedmenu". Jeg har to små problmer med denne struktur, 1. Det skal være muligt at gå til og fra hovedmenuen uden af lukke den. Dette skal gøres på en let og enkel måde. Det der sker nu er at jeg har en knap på alle ark som kalde hovedmenuen (hovedmenu.show), men denne metode virker lidt knudret og knapperne kommer men hvis man kopierer arket og evt sætter det ind i word (ikke acceptabelt). 2. Jeg skal på hovedmenuformularen have en knap som genstarter formularen, dog uden at lukke regnearket ned!
1. hvis du har excel 2000 eller højere skal du i formularerens properties sætte ShowModal = False. Dettte gør at formulareren ikke behøver lukkes for at taste i regnearket.
hmm kender godt til modal, men det løser ikke rigtig problemet, men skaber i stedet nogle flere, da brugeren nu redigere i det underliggende ark hvilket kan have ret grumme konsekvenser. Hvad med at ligge en knap i en værktøjslinie som kan vise hovedmenuen???
Lav et modul og smid koden ind, den laver en knap ved siden af hjælp , som hedder Hovedmenu.
Public Sub Auto_open() Set newItem = CommandBars("Worksheet menu bar").Controls.Add(Type:=msoControlPopup, Temporary:=True) With newItem .BeginGroup = True
.Caption = "Hovedmenu" .OnAction = "VisHovedmenu" End With End Sub
Public Sub Auto_close() CommandBars("Worksheet menu bar").Reset End Sub
Public Sub VisHovedmenu() 'Navnet på din userform UserForm1.Show End Sub
alternativ kan du også oprette en menubar selv Disse to ind i modulet ThisWorkBook
Private Sub Workbook_Open() Dim newitem As CommandBarControl On Error GoTo getout Application.CommandBars.Add(Name:="USR").Visible = True Set newitem = Application.CommandBars("USR").Controls. _ Add(Type:=msoControlButton, ID:=2950, Before:=1) newitem.Caption = "Hovedmenu" newitem.OnAction = "VisHovedmenu" getout: End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Application.CommandBars("USR").Delete End Sub
Tak for det, det var svar på det første punkt og fortjener self. også point. Jeg deler pointene hvis det er ok med jer begge! Det ville være helt i top om i gav et bud på den sidste del af spørgsmålet. Altså hvordan kan man via en knap på en formular "reset(e) eller load(e)" formularen på ny. Tak for hjælpen Morten Sender i lige et svar
eneste problem er bare at du ikke kan lukke og åbne via formularen, man skal stå på underformular og så lukke og åbne hovedformularen... Nå skidt pyt. Tak for det anyway.
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.