Macro para validar que no se ejecuta correctamente
Tengo problemas con una macro que no logro validarla para que se ejecute de manera correcta, el caso es el siguiente: Tengo una hoja de Excel para ingresar datos a partir de la celda 9 en adelante, (en las columnas B, E y F), lo primero que todo es que debe haber datos en la celda B para evaluar los datos de la celda E y F, una vez que introduzca un dato en la celda B, debe haber un dato en la celda E o un dato en la celda F para la validación, jamás deben haber datos en ambas celdas o quedar ambas celdas en blanco (en ese caso debería aparecerme un mensaje que me lo notifique), en este sentido si introduzco datos correctamente en la celda 9 la macro no se ejecuta, pero introduzco correctamente datos en la celda 9, 10, 11 y así sucesivamente para alimentar la base de datos la macro si se ejecuta como quiero, anexo el código para ver cómo me pueden ayudar, gracias.
Sub novacia() Dim lr As Long, fila As Variant, CE As Long, CF As Long, novacias As Integer novacias = WorksheetFunction.CountA(Range("B9:B1048576")) - WorksheetFunction.CountA(Range("E9:E1048576")) _ - WorksheetFunction.CountA(Range("F9:F1048576")) If novacias <> 0 Then MsgBox "existen celdas de entradas o salidas duplicadas o sin datos" Else CE = Range("E" & Rows.Count).End(3).Row CF = Range("F" & Rows.Count).End(3).Row If CE = 8 And CF = 8 Then MsgBox "Debe ingresar algún valor de Entrada o Salida de Mercancia" Exit Sub Else If CE > CF Then lr = CE Else lr = CF End If fila = Evaluate("=SMALL(IF((E9:E" & lr & "<>"""")*(F9:F" & lr & "<>""""),ROW(E9:E" & lr & ")),1)") If IsError(fila) = False Then MsgBox "No se puede CREAR un registro con Entrada y Salida de Mercancia en la misma celda" Range("F" & fila & "").Select Exit Sub End If End If End If End Sub