Avatar billede mcvz Juniormester
22. marts 2023 - 09:56 Der er 6 kommentarer

VBA - Application Visible + UserForm_QueryClose

Hej Eksperten

Jeg bruger nedenstående kode når mit ark åbner, så bruger kun ser min userform.

Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
End Sub

Udfordringen er at den skjuler alle andre ark og Excel logoet forsvinder på proceslinjen, hvilket kunne være fedt hvis den ikke gjorde det.

Yderligere lukker den ikke den Active Workbook helt ned og åbner ikke de andre fil op igen, som var åbne inden man åbnede min userform. Her har jeg bruget nedenstående kode.

Er der en måde man kan løse denne på, så bruger kan have min userform åben og måske en anden Excel fil på samme tid, og når man lukke userform, så lukker den kun den fil som indeholder min userform?

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
End Sub
Avatar billede ebea Ekspert
22. marts 2023 - 10:57 #1
Prøv at tilføje et lille argument til din form åbning.
UserForm1.Show vbModeless

Hvilket gør, at der ikke låses andre ting i dine Excel funktioner. Men uden at have set hele din kode, og hvad der ellers sker, er det lidt svært at svare konkret.
Avatar billede mcvz Juniormester
22. marts 2023 - 11:25 #2
Den melder fejl når jeg har ark åbne og så åbner min userform.

Run-time error ’429’:
ActiveX component can’t create object
Avatar billede ebea Ekspert
22. marts 2023 - 11:49 #3
#2 - Den fejl er vel ikke kommet, fordi du laver tilføjelsen jeg viste, til åbning af din Userform.
Avatar billede mcvz Juniormester
22. marts 2023 - 12:13 #4
Jo, jeg havde en excel fil åben med nogle data og så åbnede jeg filen med min userform, for at tilføje data i min userform, men min userform kommer ikke op, men fejlkoden.

Den skjuler excel, så den kode kører den igennem, men når den kommer til koden UserForm1.Show vbModeless så kommer fejlkoden.
Avatar billede ebea Ekspert
22. marts 2023 - 12:21 #5
#4 - Jeg kender stadig ikke din fulde kode. Men prøv først at deaktivere hele den kode du bruger, herunder, og så se om ikke fejlen forsvinder, og hvordan din Userform så agerer.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
End Sub
Avatar billede mcvz Juniormester
31. marts 2023 - 12:55 #6
Nu har jeg forsøgt at ændre koden til denne.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ActiveWorkbook.Close SaveChanges:=False
End Sub

Her kommer fejlen ikke op.
Det løser dog ikke problemet, da Excel logoet i proceslinjen stadig er skjult.
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

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