Question : Comment fais je fait une pause un courant programme dans VBA

Dans une feuille de travail d'Excel, dire que je fais appeler une colonne compteur de programme et une autre colonne a la fonction qu'elle devrait appeler. J'ai créé un userform comme illustré dans l'image. Écrire le compteur de programme que vous voulez que votre programme coure jusqu'à. Par exemple, si vous écrivez le compteur de programme en tant que 20 et cliquez la course, le programme fonctionne de 1 jusqu'à 20. Cependant, s'il était au milieu du fonctionnement et vous cliquez dessus la « pause », le programme devrait cesser de fonctionner. Comment est-ce que je peux faire ceci ? Comment est-ce que je reprends lors de presser t qu'il reprennent le bouton ? N'importe quelle aide serait beaucoup appréciée. Thanks. class= " lastRow de
>Attachments de " nom " de class= de
class= " valeur " de
>

class= " fileInfo " de
le title= " de " nom de fichier de class= " de userform.JPG le class= (55 KBS)  Javascript de href= " de " attachmentDetails de class= " de (type de dossier détails)  
class= " description " de
Userform
target= " _blank " de " http://filedb.experts-exchange.com/incoming/2010/08_w35/339857/userform.JPG " de href= de " attachmentLink " de class= de largeur de style= de  Userform »/> de http://filedb.experts-exchange.com/incoming/2010/08_w35/t339857/userform.JPG » de « src=
le class= de
de >
class= de

Réponse : Comment fais je fait une pause un courant programme dans VBA

Voici une version très de base de de ce que vous avez besoin. Avoir une forme avec le cmdStart de trois boutons de commande, le cmdPause et le cmdResume, une boîte à textes textbox1 et une étiquette label1.

J'ai commenté toutes les lignes du code tellement si tout va bien que vous pouvez voir ce qui continue :

L'étiquette est là ainsi vous pouvez voir votre compteur (et moi l'emploie pour préserver la valeur de CTR une fois fait une pause).

Elle a besoin d'un contrôle que la boîte à textes tient réellement une valeur légale avant que vous commenciez, je mettrait ceci sous le bouton marche et appellerait seulement la routine d'incrément si la valeur est bonne.

À l'essai de elle, si vous allez juste la laisser vous courir devra employer une valeur quelque chose comme 20000 ou vous ne pourra pas faire une pause assez rapidement.


Option explicite
Obscurcir le runstatus comme booléen ', que la boucle puisse fonctionner ou pas. la forme de niveau tellement toutes les procédures peut la voir
cmdPause_Click secondaire privé ()
   le runstatus = faux 'a placé le statut ainsi la boucle s'arrêtera
Sous-marin d'extrémité
cmdResume_Click secondaire privé ()
   relancement de CLng d'incrément (Label1.Caption) 'le compte using la valeur préservée du compteur
Sous-marin d'extrémité
cmdStart_Click secondaire privé ()
   début de l'incrément 1 'le compte de 1
Sous-marin d'extrémité
Incrément secondaire privé (CTR en tant que longtemps)
le runstatus = vrai 's'assurent que la boucle peut fonctionner
Faire tandis que le runstatus = rectifient et CTR <� Val="">    CTR = CTR + 1 'incrément le compteur
   Label1.Caption = CTR 'ont produit la contre-valeur, using la légende d'étiquette comme stock de la valeur courante
   DoEvents 'ainsi l'étiquette peut mettre à jour sa légende, et permettre à la touche attente d'être pressé
La boucle 'réintroduisent la boucle si les conditions de boucle sont encore vrais
Sous-marin d'extrémité

Je suis désolé que j'aie pris tellement longtemps pour t'arriver en arrière, mais si vous avez besoin de plus d'explication svp demander.

Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us