Excel - error ejecucion

 
Vista:
sin imagen de perfil

error ejecucion

Publicado por miguel (6 intervenciones) el 05/08/2017 04:40:27
hola Expertos buenas noches, ojala puedan ayudarme

tengo un archivo el cual quiero automatizar para ello estoy desarrollando un progrma en codigo en VBA, el archivo abre y me muestra el userform1, del cual cuando le doy click en R para que abra el userform2 y pueda introducir datos que van del textbox1 al textbox5 pero no abre me dice que el programa no responde. (antes si lo abria sin ningun problema pero cuando escribi el siguiente código para el TextBox1 del userform2 se cierra el programa y dice problemas de ejecución:

1
2
3
4
5
6
7
8
Private Sub TextBox1_change()
Dim i As Integer
For i = 1 To 9
    TextBox1.Value = Format(Date, "yyyy_" & i + 1)
    TextBox1.SetFocus
Next i
 
End Sub

1
2
3
4
Private Sub UserForm_Initialize()
    TextBox1.Value = Format(Date, "yyyy_" & i + 1)
 
End Sub


En el TextBox1 del userform2, me escribia la fecha inicial automaticamente 2017_1 y después llenaba los siguientes textbox 2,3,4,5 ; y se registraba en la hoja 3 "DeclaraciónRiesgos".

Sin embargo al meter la variable
Dim i As Integer
For i = 1 To 9
me marca error de ejecución .

lo que deseo es que se ejecute el código y despues de cada registro me incremente el número automaticamente ejemplo: 2017_1 ; 2017_2; 2017_3 ; 2017_4 ......Etc. y lo registré en la hoja 3 "DeclaraciónRiesgos".

De antemano muchas gracias. quedo atento a sus respuestas.
Saludos


Nota no permite adjuntar archivo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

error ejecucion

Publicado por miguel (6 intervenciones) el 05/08/2017 05:19:29
disculpa pero no tengo como enviar el archivo. pero si algun experto me dice como o si gusta se lo envio a su correo.


Gracias. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 31
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

error ejecucion

Publicado por xve (73 intervenciones) el 05/08/2017 08:49:34
Puedes adjuntar el archivo en un nuevo mensaje con el botón "Adjuntar Archivos"... que problema te da?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error ejecucion

Publicado por JuanC (1237 intervenciones) el 05/08/2017 13:01:57
creo que el error está claro, dentro del evento TextBox1_change() estás modificando el valor
del mismo textbox: TextBox1.Value = Format(Date, "yyyy_" & i + 1)
se hace un ciclo infinito, por eso no responde...

por otra parte el bucle
1
2
3
4
For i = 1 To 9
    TextBox1.Value = Format(Date, "yyyy_" & i + 1)
    TextBox1.SetFocus
Next i
no tiene sentido, basta con poner

1
2
TextBox1.Value = Format(Date, "yyyy_10")
TextBox1.SetFocus
pero no te olvides de quitarlo del evento onchange o poner alguna variable global que impida
el ciclo infinito...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error ejecucion

Publicado por miguel (6 intervenciones) el 05/08/2017 22:16:59
Juan C gracias por contestar, te comento que ya hice desde userform2 del textbox1 los cambios

TextBox1.Value = Format(Date, "yyyy_10")
TextBox1.SetFocus

pero el resultado que da es 2017_10 y de ahi no sale.

por lo que nuevamente trate de combiar el bucle, pero con este cambio ..... Format(Date, "yyyy_1"), quedando así:

1
2
3
4
5
6
7
8
Private Sub TextBox1_change()
Dim i As Integer
For i = 1 To 9
    TextBox1.Value = Format(Date, "yyyy_1")
    TextBox1.SetFocus
Next i
 
End Sub

y en el userform lo deje de esta manera

1
2
3
4
5
Private Sub UserForm_Initialize()
    TextBox1.Value = Format(Date, "yyyy_1")
    TextBox1.SetFocus
 
End Sub

ya no indica error de ejcucion que ya es un paso, pero no ejecuta la operación que deseo.

saludos

nuevamente quiero adjuntar el archivo pero no el botón no responde por lo que no me acceso para subir el archivo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error ejecucion

Publicado por miguel (6 intervenciones) el 05/08/2017 21:48:57
no responde al cliclk el boton "adjuntar archivo"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error ejecucion

Publicado por Pedro Martin (31 intervenciones) el 06/08/2017 02:18:41
TextBox1.Value = Format(Date, "yyyy_") & i
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error ejecucion

Publicado por miguel (6 intervenciones) el 06/08/2017 03:56:15
Pedro buenas noche.

cambie el código de acuerdo a tu sugerencia pero no funciona. se queda pasmada la PC y luego se cierra

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error ejecucion

Publicado por Pedro Martin (31 intervenciones) el 06/08/2017 06:30:49
Buenas noches Miguel

solo te di al respuesta de como seria el código para que el textbox pusiera lo que quieres.
el problema en si, tal y como lo comenta el amigo JuanC, es la utilización del evento change del textbox. el código se ejecuta cada vez que cambie algo en el textbox, y pues se vuelve infinito, de antemano ni siquiera termina el ciclo FOR por que al ejecutar la primera vuelta, hace un cambio en el textbox y vuelve a iniciar.

si gustas puedes comprobarlo ejecutando el código paso por paso con la tecla F8. la presionas y ejecuta una linea de código y así sigues presionando la tecla F8. codigo en un textbox

por otro lado me llama a atencion que quieras poner esto en un textbox, ya que esto se ejecutaria automaticamente y ni siquiera verias los cambios del textbox, a menos que haya una pausa en tu codigo a lo mejor con un msgbox.

checa esto

1
2
3
4
5
6
7
Private Sub CommandButton1_Click()
For i = 1 To 9
    TextBox1.Value = Format(Date, "yyyy_") & i
    TextBox1.SetFocus
    MsgBox TextBox1.Value
Next i
End Sub

lo puse en un commandButtom y el msgbox es solo para que puedas apreciar los cambios del textbox.

por ultimo creo que para subir un archivo lo tienes que comprimir antes de subirlo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error ejecucion

Publicado por Miguel (6 intervenciones) el 06/08/2017 19:52:23
Gracias Juan y Pedro por sus respuestas, y el tiempo dedicado.
Haré los cambios sugeridos.
Cierro el tema.
Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar