• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bladvullende Userform als startscherm

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
Een bestand opent met een bladvullende Userform, zodat met niet aan de achterliggende tabbladen kan geraken.
Alle handelingen moeten door de gebruikers op de Userform gebeuren.
De knop afsluiten, zal alles saven, en Excel zal volledig sluiten.
Alleen met de knop "Naar blad OnOf Hold(eventueel met password)" kan men bij de tabbladen geraken.

Ik heb zomaar een willekeurig bestand uit een andere vraag gebruikt om het bovenstaande uit te proberen.
Dit is tot nu toe aardig gelukt, maar.....
Het inladen van alle lists van de comboboxen, de inhoud van de textboxen, en de inhoud van de listbox, vraagt zoveel tijd dat de start-Userform
niet onmiddellijk verschijnt.

Is er een andere manier te bedenken, waarbij de Start-Userform onmiddellijk verschijnt, en het inladen van comboboxen, textboxen en listbox pas later gebeurt?
 

Bijlagen

- De code kan nog behoorlijk versneld worden
- het aantal elementen op het userform kan nog drastisch gereduceerd worden.
- een computer met meer werkgeheugen zou dan ook niet verkeerd zijn (bij mij loopt het ondanks 1 en 2 vlot)
 
Tja SNB,
Als zware roker heeft mijne champetter mij met een goedkoop laptopje naar de garage verbannen, zij heeft mijn echte pc (in de living) in beslag genomen. Van een zwaardere pc is dus geen sprake.
Door array's te gebruiken zal de gebruikte code waarschijnlijk kunnen versneld worden. Maar ik heb zomaar een bestand uit een andere vraag als testbestand gebruikt.
Het duurt nu een tweetal seconden voor de Start-Userform verschijnt.
Bestaat er een methode om het inladen van de gegevens in de Sart-UForm pas te laten gebeuren na het verschijnen van die UForm?
 
Je zoekt het in de verkeerde richting.
Stoppen met roken zou al veel verlichting geven (voor jezelf en je omgeving).
 
@ Snbie,
- De code kan nog behoorlijk versneld worden
- het aantal elementen op het userform kan nog drastisch gereduceerd worden.
100% gelijk, (uw kennis is nu eemaal x aantal keer groter:confused:) maar het voorbeeld dat wieter nu post is iets waar ik aan het helpen ben in een ander postje en heeft helemaal niets te maken met zijn eigen bestand, als ik het mij goed herinner heb ik (en diverse andere helpers) wieter verder geholpen met zijn eigen bestand, (waar ook alleen de userform mocht verschijnen) waarvan wieter nu beter een vbtje zou posten.
Voor deze
- een computer met meer werkgeheugen zou dan ook niet verkeerd zijn (bij mij loopt het ondanks 1 en 2 vlot)
Klopt !
En voor de Nederlandse Snbies onder ons
Dit
mijne champetter
is zijn vrouw:p:p
 
Kijk, daar worden we wijzer van: naast VBA ook een grotere Vlaamse woordenschat voor wanneer de stroom uitwijkelingen uit het zuiden op gang komt als Bart de Wever aan de macht komt. ;)
 
Klopt Dotchie, jij bezorgde mij ooit de oplossing voor een bladvullende userform als startscherm.
In mijn bestandje gebruikte ik een lege userform, en dat werkt nu perfect.
Ik probeer dezelfde techniek nu toe te passen op een zwaar beladen userform, en dit zorgt voor een hinderlijke vertraging.
Al rokend ben ik op weg naar de zeventig, dus al mijn excel-experimenten hebben geen enkel nut, ze dienen tot niets.
Voor mij is het allemaal maar een nuttiger tijdverdrijf dan met leeftijdsgenoten over het weer te zagen.
Als er geen oplossing komt is dat dus helemaal niet erg.

@SNB
Ik hoop maar dat die stroom Vlaamse uitwijkelingen welkom zijn bij Wilders, die dan misschien ook aan de macht is.
 
@wieter,
Voor mij is het allemaal maar een nuttiger tijdverdrijf dan met leeftijdsgenoten over het weer te zagen.
En ik maar denken dat die van Hasselt zich alleen maar met carnaval bezig houden:d
 
Mis Dotchie, Hasselt is een zalig provinciestadje, er is 's zomers van alles te beleven (ook gratis).
We spreken wel wat trager en het zal je al wel opgevallen zijn dat ik daarom ook trager schrijf.
Ik ben afkomstig uit het Antwerpse en wil niet meer weg uit Limburg.
 
Kan ik me voorstellen.

Maar hoe je het wendt of keert: eens zullen de listboxen/comboboxen gevuld moeten worden.
Ik kan me haast niet voorstellen waarom dat zo lang zou moeten duren als je de methode listbox.list=range("A1:K100").value gebruikt.

Ik vermoed dat er andere code is in de gebeurtenis Initialize of Activate die voor vertraging zorgt.

Zoals je weet kun je de meeste eigenschappen van controls in een userform in de ontwerpfase vastleggen.
De initialize gebeurtenis bevat dan alleen het vullen van listboxen en comboboxen.
Realiseer je ook dat een listbox/combobox een hele grote matrix (=range ) kan bevatten zonder dat al die kolommen ook zichtbaar zijn.

Hoe representatiever het voorbeeldbestand (met fiktieve gegevens) is dat je meestuurt, hoe beter we je vraag kunnen beantwoorden.

PS. Het merendeel van de bezoekers van dit forum is op weg naar de zeventig....;)
 
Laatst bewerkt:
Gooi het initialize event weg en vervang door:

Code:
Private Sub UserForm_Activate()
    Static bDone As Boolean
    If bDone Then Exit Sub
    bDone = True
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Application.DisplayFullScreen = True
    With OnOfHold
        .Width = Application.ActiveWindow.Width
        .Height = Application.ActiveWindow.Height
        .Move 0, 0
    End With
Call UserFormVullen
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan