Bucle Do Until Loop corre bien con F8 pero se congela con F5
Publicado por ANDRES (1 intervención) el 16/11/2022 23:31:05
Hola, buenas noches y de antemano mil gracias
Problemas:
1) un bucle muy sencillo - Do Until Loop - se congela cuando lo ejecuto en modo automático (corre todo el script) con F5 (o botón "play"), PERO anda bien si ejecuto en paso a paso (F8)
2) El LOOP si pasa a la segunda fila, pero no pasa a la tercera fila... es como si VBA no viera el Do Until y no ejecuta bucle
El loop es mas o menos así:
__________________________________________________________________________________________
Sub probando_bucleDO()
Range("B4").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value <> ActiveCell.Offset(0, 1).Value Then
ActiveCell.Offset(2, 0) = ActiveCell.Value + ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Else: ActiveCell.Offset(0, 2).Value = 33
End If
Loop
End Sub
__________________________________________________________________________________________
Este Loop hace un recorrido por la primera columna en una tabla de 3X3 y cuando llega a la primer celda vacía se detiene
Lo que hace es verificar si el valor de la celda B4 es diferente al de la celda C4. Si es así, suma los valores de B4 y C4 y los registra en la celda D4, de lo contrario registra el valor = 33
Mil gracias de antemano
Problemas:
1) un bucle muy sencillo - Do Until Loop - se congela cuando lo ejecuto en modo automático (corre todo el script) con F5 (o botón "play"), PERO anda bien si ejecuto en paso a paso (F8)
2) El LOOP si pasa a la segunda fila, pero no pasa a la tercera fila... es como si VBA no viera el Do Until y no ejecuta bucle
El loop es mas o menos así:
__________________________________________________________________________________________
Sub probando_bucleDO()
Range("B4").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value <> ActiveCell.Offset(0, 1).Value Then
ActiveCell.Offset(2, 0) = ActiveCell.Value + ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(1, 0).Activate
Else: ActiveCell.Offset(0, 2).Value = 33
End If
Loop
End Sub
__________________________________________________________________________________________
Este Loop hace un recorrido por la primera columna en una tabla de 3X3 y cuando llega a la primer celda vacía se detiene
Lo que hace es verificar si el valor de la celda B4 es diferente al de la celda C4. Si es así, suma los valores de B4 y C4 y los registra en la celda D4, de lo contrario registra el valor = 33
Mil gracias de antemano
Valora esta pregunta
0