• 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.

Programma loopt niet door.

Status
Niet open voor verdere reacties.

HaBro

Gebruiker
Lid geworden
1 apr 2006
Berichten
64
Hallo

In VBA heb ik staan UserForm2.Show en na een bepaalde tijd
Unload UserForm2.

Het programma wacht tot ik het userform weg druk
maar dat wil ik juist niet

Kan dit..

Hans
 
Staat dit in dezelfde code ? , ik heb dat ook allemaal staan in bepaalde van mijn progjes maar , je ziet waarschijnlijk ook niet waar deze staan als ik geen voorbeeldje upload .
Ik zou zeggen post je code tussen tags of upload het probleempje ;)
 
Hallo

dit is een stukje van de code

Code:
   If UserForm1.MSComm1.PortOpen = False Then                                      'Als poort nog gesloten is open het dan
        UserForm1.MSComm1.CommPort = Val(Sheets("Instelling").Cells(5, 6).Value)
        UserForm1.MSComm1.PortOpen = True
        UserForm1.MSComm1.InputLen = 0
        UserForm1.MSComm1.RThreshold = 1                                            'zorgt dat bij ingegeven aantal tekens in buffer the oncomm routine triggert
        UserForm1.MSComm1.SThreshold = 1
        Application.CommandBars("TestKast").Controls(1).Caption = "Drukmeting is Aan"    'Zet tekst op button
        
       Sheets("Log").Select
        Range("A4:G21").Select
       Selection.ClearContents
       Range("A1").Select
       Sheets("Rapport").Select
       Range("A1").Select
        
        UserForm2.Show  'show druk meting loopt
        StartTimer                                                                  ' Start interrupt timer
    End If
Else
    If UserForm1.MSComm1.PortOpen = True Then
        EndTimer
        UserForm1.MSComm1.PortOpen = False
        Application.CommandBars("TestKast").Controls(1).Caption = "Drukmeting is Uit"
        Unload UserForm2 
    End If
    
End If

Exit Sub

En Unload userform2 komt nog een keer terug na de meting van +/- 30 minuten.

Maar het progr stop bij UserForm2.Show
en gaat weer door als ik de userform weg druk
(userform2 is alleen maar als plaatje bedoelt dat er een meting loopt)
misschien is er wel een andere oplossing voor.

Hans
 
HaBro,

Zet onderstaande code achter het formulier (userform2)
Als het goed is zal hij na 2 sec. verdwijnen.

Code:
Private Sub UserForm_Activate()
Application.Wait (Now + TimeValue("00:00:02"))
Unload Me
End Sub
 
Bedankt voor het reageren

Dat een Userform een bepaalde tijd blijft staan is wel mooi
maar dat gaat hier niet op

Omdat de meting 5 min. kan duren maar ook 1 uur
en als de meting fout gaat moet ie ook weg
vandaar dat op verschillen plaatsen Unload userform2 staat.

Msg. box gaat ook niet omdat je deze ook weg moet drukken om door te gaan


Hans
 
Vermijd Select en Activate in VBA-code

[Log!A4:G21].ClearContents

kan dan deze code volledig vervangen:
Code:
Sheets("Log").Select
        Range("A4:G21").Select
       Selection.ClearContents
       Range("A1").Select
       Sheets("Rapport").Select
       Range("A1").Select
 
Ja inderdaad bedankt SNB
ga ik wijzigen

dat stukje komt van een macro aanmaken(lekker makkelijk)

Hans
 
HaBro,

Zou je macro zo wel door lopen?
Code:
Private Sub UserForm_Activate()
  StartTimer
End Sub
 
Helaas krijg het niet voor mekaar

ik heb het nu wel voor mekaar dat het in de commandbalk staat
ik hou het hier maar op
zou ik hier nog een variabele in kunnen zetten zodat ik kan zien hoever de meting is

Code:
    Application.CommandBars("TestKast").Controls(1).Caption = "Drukmeting is Aan"

Hans
 
Ik vermoed dat je gebruik wil maken van een progressBar.
Zet die gewoon in je userform1.
Via VBA-code in Userform 1 kun je die laten lopen tot de meting klaar is.
Je zult aan ons nog wel moeten vertellen hoe Excel/het userform kan 'weten' wanneer een meting klaar is. Die afhandeling van een fout in de meting is nog wel het simpelste.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan