Cuestión : Cómo lo hago se detiene brevemente un corriente programa en VBA

En una hoja de trabajo de Excel, decir que hago una columna llamar contador de programa y otra columna tiene la función que debe llamar. He creado un userform según lo ilustrado en la imagen. Incorporar el contador de programa que usted quisiera que su programa funcionara con hasta. Por ejemplo, si usted incorpora el contador de programa como 20 y chasca funcionamiento, el programa funciona a partir de la 1 hasta 20. Sin embargo, si estaba en el medio del funcionamiento y usted chasca encendido “pausa”, el programa debe parar el funcionar. ¿Cómo puedo hacer esto? ¿Cómo reasumo sobre presionar t que él reasume el botón? Cualquier ayuda sería agradecida mucho. Thanks. class= " lastRow del
>Attachments del " nombre " del class= del class= " valor " del
del >

class= " fileInfo " del
el title= " del " nombre de fichero del class= " del userform.JPG el class= (55 KB)  Javascript del href= " de los " attachmentDetails del class= " del (tipo de archivo detalles)  
class= " descripción " del
Userform
target= " _blank " de " http://filedb.experts-exchange.com/incoming/2010/08_w35/339857/userform.JPG " del href= del " attachmentLink " del class= del anchura del style= del  Userform”/> de http://filedb.experts-exchange.com/incoming/2010/08_w35/t339857/userform.JPG” del “src=
el class= de
del >
class= del

Respuesta : Cómo lo hago se detiene brevemente un corriente programa en VBA

Aquí está una versión muy básica de lo que usted necesita. Tener una forma con el cmdStart de tres botones de comando, cmdPause y cmdResume, un textbox textbox1 y una etiqueta label1.

He comentado todas las líneas del código tan esperanzadamente que usted puede ver qué se está encendiendo:

La etiqueta está allí así que usted puede ver su contador (y me lo están utilizando para preservar el valor del CTR cuando está detenido brevemente).

Necesita un cheque que el textbox lleve a cabo realmente un valor legal antes de que usted comience, yo pusiera esto debajo de la tecla de partida y llamara solamente la rutina del incremento si el valor es buen.

En la prueba de él, si usted apenas va a dejarlo funcionarle con necesitará utilizar un valor algo como 20000 o usted no podrá detenerse brevemente rápidamente bastante.


Opción explícita
Amortiguar el runstatus como boleano 'si el lazo puede funcionar o no. la forma llana tan todos los procedimientos puede considerarlo
cmdPause_Click secundario privado ()
   el runstatus = falso 'fijó el estado así que el lazo parará
Submarino del extremo
cmdResume_Click secundario privado ()
   recomenzar de CLng del incremento (Label1.Caption) 'la cuenta usar el valor preservado del contador
Submarino del extremo
cmdStart_Click secundario privado ()
   comienzo del incremento 1 'la cuenta a partir de la 1
Submarino del extremo
Incremento secundario privado (CTR como de largo)
el runstatus = verdad 'se cerciora de que el lazo pueda funcionar
Hacer mientras que el runstatus = verdad y CTR <� Val="">    CTR = CTR + 1 'incremento el contador
   Label1.Caption = el CTR 'hicieron salir el contravalor, usar el subtítulo de la etiqueta como almacén del valor actual
   DoEvents 'la etiqueta puede poner al día tan su subtítulo, y permitir que el botón de pausa sea presionado
El lazo 'entra el lazo de nuevo si las condiciones del lazo son todavía verdades
Submarino del extremo

Lo siento que duré tan para volverle, pero si usted necesita más explicación por favor pedir.

Otras soluciones  
 
programming4us programming4us