Excel bewerken als userform zichtbaar

Status
Niet open voor verdere reacties.

Denis58

Nieuwe gebruiker
Lid geworden
8 sep 2023
Berichten
4
Als een newbee in het werken met VBA Heb ik een User Form met een aantal buttons met hyperlinks en programma's die ik veel gebruik gemaakt die opstart zonder dat het Werkboek zichtbaar is.
Als ik nu een ander Werkboek of een Excel file open heb staan wordt deze verborgen en kan ik niets bewerken, ook kan ik geen andere Werkboek of een Excel file openen om te bewerken. Dit lukt alleen als ik het User Form sluit. Dan komen alle Excel documenten weer tevoorschijn en kan ik ze weer bewerken.

Mijn vraag, Is er een code waar alleen het betreffende Werk Boek verbergt?
Zodat ik de ander Excel documenten wel kan bewerken als het User Form zichtbaar is?


Hier onder staan de codes die ik nu gebruik.

WorkBoek:
Code:
Private Sub Workbook_Open()
    Application.Visible = False
    WPP_Tools.Show  
End Sub
]

Userform:
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Application.Visible = True
    Unload Me
    End Sub


Module1:
Code:
Sub ShowUserForm()
WPP_Tools.Show
End Sub

Alvast bedankt voor de hulp.

Groet

Dennis
 
En zowiezo zou ik

Code:
Private Sub Workbook_Open()
    Application.Visible = False
    WPP_Tools.Show  
End Sub

veranderen in

Code:
Private Sub Workbook_Open()
    Application.Visible = False
    WPP_Tools.Show  vbModeless
End Sub

Anders kun je nog niet buiten je formulier werken...
 
Laatst bewerkt:
Excel bewerken als userform zichtbaar is

Bedankt voor de reactie, en de code werkt.

Maar kan deze aangevuld worden door het werkboek automatisch te minimaliseren en het userform zichtbaar te houden?

Ik heb op andere forums wel iets gezien en geprobeerd maar deze werkte niet helemaal goed, het gaat om een applicatie maken in Excel.
Hieronder is de link naar het artikel.
http://www.eileenslounge.com/viewtopic.php?f=30&t=31222

alvast bedankt voor de uitleg.
 
Plaats het volgende VBScript in dezelfde map als je Exceldocument, geef het een logische naam (Startmenu.vbs ?) en start het script:
Code:
Dim objExcelDim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objExcel = CreateObject("Excel.Application") 
objExcel.Workbooks.Open(WshShell.CurrentDirectory & "\JouwDocument.xlsm")

Je kunt daarna een tweede Excel instance starten zonder dat JouwDocument.xlsm zichtbaar wordt.
 
Liever:

Code:
Sub M_snb()
   ActiveWorkbook.Windows(1).Visible = False
   Workbooks.Add
End Sub
 
even voor de duidelijkheid

Plaats het volgende VBScript in dezelfde map als je Exceldocument, geef het een logische naam (Startmenu.vbs ?) en start het script:
Code:
Dim objExcelDim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objExcel = CreateObject("Excel.Application") 
objExcel.Workbooks.Open(WshShell.CurrentDirectory & "\JouwDocument.xlsm")

Je kunt daarna een tweede Excel instance starten zonder dat JouwDocument.xlsm zichtbaar wordt.



Liever:

Code:
Sub M_snb()
   ActiveWorkbook.Windows(1).Visible = False
   Workbooks.Add
End Sub

Heren,

Even voor de duidelijkheid, waar plaats ik deze code, 1 op sheet 1 (mail), in ThisWorkbook, Forms of Module 1.
Of moet ik iets toevoegen om daar de code te zetten.

Ik ben nog niet thuis in VBA en waar je dit kan zetten, het is mijn eerste project wat ik heb gemaakt.

in iedergeval ben ik jullie dankbaar voor de uitleg.

Groet

Dennis

4Rrz66qvlyJY0lq6l1wAAAPQ6AQngEb373e O27dvx3e 851tESkdp7F0Lb0GAACg1wlIAI9hZ0QSjwAAgJNIQAJ4TJ0RSTwCAABOIgEJ4AhUEUk8AgAATiIBCeCIpHAkHgEAACeRgAQAAABAloAEAAAAQJaABAAAAEBW38svv7xRHgNwDF566aXyaG8LCwuxsrISg4ODxX56erq8cjTOnDkTGxv 6QcAAA4q4v8DVrS9TNh2NToAAAAASUVORK5CYII=
 

Bijlagen

  • Schermafbeelding 2023-09-18 151758.jpg
    Schermafbeelding 2023-09-18 151758.jpg
    70,5 KB · Weergaven: 10
Maak met bijvoorbeeld Notepad een tekstbestand aan in dezelfde map als waarin ook jouw WPP-Tools.xlsm staat. Geeft dat tekstbestand een naam en de extensie VBS, bijvoorbeeld StartTools.vbs, het is daarmee een VBScript bestand geworden. Plaats in dat bestand de vier eerder genoemde regels en vervang daarin JouwDocument.xlsm door WPP-Tools.xlsm.
Dubbelklik in de verkenner op StartTools.vbs.
Je kunt daarna een nieuwe instance van Excel starten.
 
Hou er rekening met dat bij het maken van een Excel object de eventueel aanwezige invoegtoepassingen niet worden geladen.
Dat dien je dan ook in de VBS te doen.
 
Bedankt

Heren,

Bedankt voor jullie antwoordt en ik ben weer wat wijzer geworden.
Ik kreeg in de oplossing van AHulpje een een error in regel 1 carracter 17. Dim objExcelDim WshShell
Ik heb dit opgelost door deze onder elkaar te zetten.

Dim objExcel
Dim WshShell

Als ik nu het VBA scriptje draai krijg ik mijn tool te zien Schermafbeelding 2023-09-19 082235.jpg en kan ik andere documenten opennen en bewerken.

Nogmaals bedankt en als ik wat wil weten kom ik zeker weer terug met vragen.
Verder hou ik het forum in de gaten.

Nogmaals bedankt en groet :thumb:

Dennis
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan