Elegir una macro en función del valor de una celda en Excel

Tengo el siguiente código:

Sub GrabaRegistroALMACEN()
'
' GrabaRegistroALMACEN Macro
' Graba un registro nuevo Completo o Incompleto en la hoja ALMACEN dependiendo si están o no están todos los datos del formulario cumplimentados
'

'
ActiveSheet.Unprotect
Range("E4").Select
If Range("A35").Value = 6 Then Call RegistroCompletoALMACEN
If Range("A35").Value < 6 Then Call RegistroIncompletoALMACEN
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Range("E4").Select
End Sub

El problema que tengo es que quiero que cuando se ejecute la primera de las macros (cuando A35=6) el proceso se pare, pero estoy haciendo algo mal porque cuando se ejecuta la primera de las macros inmediatamente después se ejecuta la segunda y solo quiero que se ejecute la primera.

Por otro lado, si está bien que cuando A35<6 ejecuta solo la segunda macro y se termina el proceso.

2 respuestas

Respuesta
2

Te puede interesar:

https://youtu.be/PupmVvM16-8 

Sal u dos Dante Amor

Respuesta
1

Si se ejecuta la primera es porque A35 = 6... por lo tanto no es posible que se ejecute la segunda ya que no cumpliría la condición A35 < 6.

Quizás estás incluyendo <= en la 2da condición. O quizás la primera modifica el valor de A35 y por eso se cumple ahora la segunda condición.

Te sugiero que las separes. De ese modo podrás colocar un punto de interrupción y ver cuándo se cumple 1 y cuándo la otra. Lo que sí ambas deben ejecutar, es la protección de la hoja ya que la desproteges al inicio del proceso.

* Te invito a visitar la sección Manuales y aprovechar las promociones de fin de año. Todas las macros en un solo lugar (libros Pdf) siempre disponibles en tu equipo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas