Avatar billede mira96ac Novice
24. januar 2007 - 10:30 Der er 7 kommentarer og
3 løsninger

Værktøjslinie ?

Jeg har lavet min egen værktøjslinie i Excel.

Den fjernes ved at man lukker den pågældende ark som værktøjslinien er vedhæftet.

Problemet er hvis jeg åbner to versioner af excel-arket og lukker den ene igen. Så forsvinder min værktøjslinie jo også selvom jeg satdig skal bruge den.

Jeg kan ikke højreklikke i toppen af excel og få den frem igen. jeg er nødt til at lukke arket og åbne det igen.

Er der en løsning på dette.

(værktøjslinien skal forsvinde hver gang man lukker arket, den må ikke blive tilbage)
Avatar billede jhe-ting Nybegynder
26. januar 2007 - 09:23 #1
Når arket lukkes skal det kontrollere om det er den sidste (eneste) kopi der er åben, og kun lukke værktøjslinjen i dette tilfælle.
Avatar billede mira96ac Novice
26. januar 2007 - 10:32 #2
Kan du hjælpe med denne makro ?

Jeg vil også gerne have en forklaring på hvorfor man ikke kan højreklikke på toppen af Excel og vælge sin værktøjslinie på listen, ligesom med standardværktøjslinierne i Excel.

Hvis du altså ved hvorfor...
Avatar billede jhe-ting Nybegynder
05. februar 2007 - 22:06 #3
Det ideelle havde været at se om et at de andre arbejdsområder havde værktøjslinjen tilknyttet, men det kan man ikke.

Citat fra Excel Visual Basic Reference (2000):

CommandBars Property

...

There is no programmatic way to return the set of command bars attached to a workbook.

Man må falde tilbage på en løsning der involverer en liste af arbejdsområder der bruger værktøjslinjen, der så må være global.

Option Explicit
Private Function inList(ByVal actName As String)
    Dim customBooks, name, found
    customBooks = Array( _
        "Periodeantal.xls", _
        "Pointregnskab.xls")
    inList = False
    For Each name In customBooks
        If actName = name Then
            inList = True
            Exit For
        End If
    Next
End Function
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim app As Application, bks As Workbooks, bk As Workbook
    Dim idx, cnt As Integer
    Dim actName As String
    Dim inUse As Boolean
    Set app = ActiveWorkbook.Parent ' Find Excel.Application
    actName = ActiveWorkbook.name
    Set bks = app.Workbooks
    inUse = False
    cnt = bks.Count
    For idx = 1 To cnt
        Set bk = bks.Item(idx)
        If bk.name <> actName Then
            If inList(bk.name) Then inUse = True
        End If
    Next idx
    If Not inUse Then Application.CommandBars("Lokale værktøjer").Visible = False
End Sub
Private Sub Workbook_Open()
    Application.CommandBars("Lokale værktøjer").Visible = True
End Sub
Avatar billede mira96ac Novice
05. februar 2007 - 22:08 #4
Jeg er nok nødt til at få forklaret lidt mere uddybende hvordan jeg inddrager denne makro i mit regneark.
Avatar billede jhe-ting Nybegynder
05. februar 2007 - 22:15 #5
Makro'en skal indsættes i alle de arbejdområder der bruger værktøjslinjen "Lokale værktøjer".
Array'et "customBooks" skal indeholde alle navnene på disse arbejdområder.

1. Tast Alt-F11 for at åbne Visualbasic fra Excel
2. Dobbeltklik på arbejsområdet.
3. Indsæt makro'en i ThisWorkbook (code)
Avatar billede jhe-ting Nybegynder
05. februar 2007 - 22:20 #6
Værktøjslinjen vil blive vist så længe bare ét af de opremsede arbejdsområder er åbne.
Avatar billede jhe-ting Nybegynder
05. februar 2007 - 22:27 #7
For at sikre visning når man vender tilbage til et af dem kan denne bruges:

Private Sub Workbook_Activate()
    Application.CommandBars("Lokale værktøjer").Visible = True
End Sub
Avatar billede jhe-ting Nybegynder
07. februar 2007 - 12:58 #8
En løsning kunne være at have disse to med i alle arbejdsområder:


Private Sub Workbook_Activate()
    Application.CommandBars("Lokale værktøjer").Visible = True
End Sub

Private Sub Workbook_Deactivate()
    Application.CommandBars("Lokale værktøjer").Visible = False
End Sub


Kan du bruge noget af det?
Avatar billede jhe-ting Nybegynder
10. februar 2007 - 21:14 #9
Hej Mira96ac.
Har du fundet en løsning?
Lad mig vide hvordan det går :o)
Hilsen jhe-ting
Avatar billede mira96ac Novice
11. februar 2007 - 15:18 #10
Har lige fået tid til at kigge på det.

Det virker.

Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester