Avatar billede olehen Nybegynder
11. december 2007 - 10:56 Der er 12 kommentarer og
1 løsning

Aktiv userform vises også ved skift til ny excel fil.

Kan det undgås at userformen vises foran andre excel filer end den den er tilknyttet?
Avatar billede supertekst Ekspert
11. december 2007 - 11:02 #1
Hvordan er userformen initieret?
Avatar billede kabbak Professor
11. december 2007 - 11:18 #2
sæt en kode i ThisWorkbook modulet, den kan skjule den.

eksempel.

Private Sub Workbook_Deactivate()
UserForm1.Hide
End Sub
Avatar billede olehen Nybegynder
11. december 2007 - 12:29 #3
Kabbak,

det virker fint.. Har indsat følgende:

Private Sub Workbook_Deactivate()
FrmBO.Hide
FrmRenew.Hide
End Sub

Private Sub Workbook_Activate()
FrmBO.Show
End Sub

Som du kan se har jeg to userforms. FrmRenew kaldes inde fra FrmBO og jeg kan derfor ikke sætte den ind i Workbook_Activate() da den kun skal være aktiveret, når den er blevet kaldt. Det er en userform benyttes kun ind i mellem, men jeg vil gerne have samme funktion til den som til main userformen.
Avatar billede olehen Nybegynder
11. december 2007 - 12:31 #4
Sikke noget sludder det sidste..

Den anden userform benyttes kun ind i mellem men jeg vil gerne have samme funktion til den som til FrmBO.
Avatar billede kabbak Professor
11. december 2007 - 12:44 #5
et svar ;-))
Avatar billede olehen Nybegynder
11. december 2007 - 19:16 #6
Det må du få hvis du kan få den anden til at virke.. Den kaldes via en knap i den første userform. Men skal forblive synlig kun på de ark den er tilknyttet.. Som det er nu forsvinder den med den kode jeg har.. Så hvordan aktivere jeg den igen efter jeg har skiftet tilbage til arket??
Avatar billede kabbak Professor
11. december 2007 - 19:45 #7
OK:
I toppen af et Modul, ikke i et userform modul

Public FrmRenewShow As Boolean

under knappen i FrmBO

FrmRenewShow = True
FrmRenew.Show


I FrmRenew modulet

Private Sub UserForm_Terminate()
FrmRenewShow = False
End Sub


I ThisWorkbook Modulet

Private Sub Workbook_Activate()
FrmBO.Show
If FrmRenewShow Then FrmRenew.Show
End Sub
Avatar billede olehen Nybegynder
13. december 2007 - 07:57 #8
Hvis jeg også indsætter nedenstående i ThisWorkbook så tror jeg det virker som det skal..

Private Sub Workbook_Deactivate()
FrmBO.Hide
FrmRenew.Hide
End Sub
Avatar billede olehen Nybegynder
13. december 2007 - 09:00 #9
Hvis nu den første form ikke er vist eller man vælger at lukke den ned og skifter til andet excel ark. Klikker jeg så tilbage så er den kommet frem igen. Hvordan kommer jeg uden om det?
Avatar billede kabbak Professor
13. december 2007 - 09:36 #10
Så lav en ny Boolean ligesom
Public FrmRenewShow As Boolean

So hvis du åbner FrmBO, så sæt den til True
og i Private Sub UserForm_Terminate()
sætter du den så til False

akkurat ligesom i den anden
Avatar billede olehen Nybegynder
13. december 2007 - 10:02 #11
Har forsøgt.. Placerede FrmBOShow = True under userform_activate, men så kommer den frem hver gang efter skift mellem excel filerne.

+ boolean i modul og ændring i ThisWookbook og tilføjelse af Terminate.

Spørgsmålet er hvor FrmBOShow = true skal placeres for at den virker..
Avatar billede olehen Nybegynder
13. december 2007 - 10:38 #12
Jeg kan placere den her:

Private Sub UserForm_Layout()
  FrmBOShow = True
End Sub

Hvis jeg slår FrmBO.Hide fra, så er problemet  at den ikke gemmer userformen, når jeg skifter til anden excel fil.

Er den slået til så popper userformen automatisk op igen.

Private Sub Workbook_Deactivate()
FrmBO.Hide
FrmRenew.Hide
End Sub

Måske den skal placeres et andet sted?
Avatar billede olehen Nybegynder
14. december 2007 - 10:09 #13
Så virker det optimalt..

Skulle bare bruge if FrmBOShow then FrmBO.hide
og så flyttede jeg FrmBOShow = true et andet sted hen under min userform..

Så mange tak for den pålidelige og hurtige hjælp du giver herinde, Kabbak..
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