Toon posts:

Onderbreken van loop in VBA Excel

Pagina: 1
Acties:
  • 460 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een macro geschreven in VBA Exel.
De macro wordt gestart d.m.v. een button, en gestopt d.m.v. een tweede button.
In de macro zit een loop waarin er 'geluisterd' wordt naar de COM-poort.
Alles werkt perfect zolang ik niet op de stop-knop druk. De macro achter de stop-knop wordt blijkbaar pas geactiveerd als de macro uit zijn loop komt. ( d.w.z. dat wanneer ik op de stop-knop druk, er éérst nog één waarde moet doorgestuurd worden via de COM-poort, en deze nog verwerkt wordt, alvorens de macro stopt )

Bestaat er een mogelijkheid om de loop te onderbreken, onmiddelijk op het ogenblik dat ik op de stopknop druk? Ik heb geprobeerd met de stopknop.value te checken ( zie onder ), maar dit lukt niet.

Alvast Dank

Private Sub startknop_Click() ' mijn startknop
stopped = False
Do While Not stopped
Call uitlezen
Loop
End Sub

Private Sub Stopknop_Click() ' mijn stopknop
stopped = True
End Sub

Sub uitlezen()
Dim zoek As String
MSComm1.InBufferCount = 0
MSComm1.CommPort = 1
zoek = Chr(32) ' 32 = spatie
MSComm1.PortOpen = True
'We stellen een loop in tot de binnenkomende data een bepaald teken bedraagt ( in ons geval is dit de waarde die staat in de variabele "zoek"
Do While
MSComm1.Input <> zoek And Stopknop.Value = True
Loop

MSComm1.InputLen = 6
Label1.Caption = MSComm1.Input
ActiveCell.Value = CSng(Label1.Caption)
End Sub

  • peterz20
  • Registratie: Augustus 2005
  • Laatst online: 01-02 11:08
Denk je dat je in het goede forum zit?

  • Kappie
  • Registratie: Oktober 2000
  • Laatst online: 11-03 20:04

Kappie

Tell me your secrets...

Zet in je loop het command
code:
1
DoEvents


met info op Definition of DoEvents in Visual Basic for Applications

He does fit the profile perfectly. He's intelligent, but an under-achiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Dit topic is gesloten.