werkboek vba code opent soms traag

Status
Niet open voor verdere reacties.

brejen

Gebruiker
Lid geworden
21 apr 2007
Berichten
121
ik heb een excel bestand waarin ik in volgende code heb voorzien om te checken welke gebruiker ingelogd is en wie dus toegang krijgt; het vervolg van de code is niet van belang. het probleem dat zich stelt is dat soms het bestand onmiddellijk opent en somt duurt het minuten lang voordat vba deze code zelfs maar start. ik heb als test vlak na sub workbook open() een msgbox gezet en die wordt dan zelfs niet getoond (tenzij na enkele minuten). Het lijkt er op dat excel de vba gewoon pas later start. Kent iemand hiervoor een oplossing?

Sub Workbook_Open()


Dim i As Byte
Dim CheckIn As String
Dim People() As String
Dim Login As Boolean: Login = False




People = Split("Jan, Miek", ",")
CheckIn = StrConv(Environ("username"), vbProperCase)



For i = LBound(People) To UBound(People)

If People(i) = CheckIn Then

Login = True
Exit For

End If

Next
 
Behalve dat je code een stukje korter kan (en je blijkbaar niet helemaal snapt hoe variabelen werken als je ze declareert), nog afgezien van die enorme berg lege (en dus nutteloze) regels: wat gebeurt er als je de code in de stapmodus uitvoert?

Code:
[COLOR=#333333]Sub Workbook_Open()[/COLOR]
[COLOR=#333333]Dim i As integer[/COLOR]
[COLOR=#333333]Dim People() As String[/COLOR]
[COLOR=#333333]Dim Login As Boolean[/COLOR]

[COLOR=#333333]    People = Split("Jan, Miek", ",")[/COLOR]
[COLOR=#333333]    For i = LBound(People) To UBound(People)[/COLOR]
[COLOR=#333333]        If People(i) = [/COLOR][COLOR=#333333]StrConv(Environ("username"), vbProperCase)[/COLOR][COLOR=#333333] Then
[/COLOR][COLOR=#333333]              Login = True[/COLOR]
[COLOR=#333333]              Exit For[/COLOR]
[COLOR=#333333]         End If[/COLOR]
[COLOR=#333333]     Next[/COLOR]

Oh ja, je zou toch moeten weten dat code tussen CODE tags moet :)
 
Ik weet eigenlijk niet hoe ik dit in de stapmodus moet checken. Deze code zit in het werkboek en niet in een module. dus wanneer ik het werkboek open start deze code sowieso al.
 
Dat maakt niet uit waar de code staat. Zodra je de cursor bovenaan in de module zet, kun je met <F8> door de code stappen.
 
dat is juist het probleem, ik moet eerst het werkboek openen om naar de code te kunnen gaan maar dan is de code al gestart.
 
Je kan de code markeren als tekst, bestand opslaan er opnieuw openen.
Daarna de code weer markeren als programmacode en met F8 doorlopen.
 
ik moet het elders zoeken dan in de vba code. heb alle code verwijderd, het bestand hernoemd naar xlsx en het langzaam openen blijft bestaan.
 
Is het alleen die specifieke bestand of start je het Excel-programma ook gelijktijdig op?
 
Het is 1 specifiek bestand. Ik heb meerdere tabbladen verwijderd tot enkel datgene over bleef waarbij het lang duurt om het te openen. Mogelijks zit in dat tabblad ergens iets fout.
 
Teveel afbeeldingen, teveel voorwaardelijke opmaak, formules met volledige kolommen of rijen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan