Boa noite Rui.
O problema de abrir e fechar simplesmente em cada Macro resulta exatamente nesse problema que citou: quando a segunda Macro terminar ela habilitará a atualização de tela, o que fará com que sua primeira função, após terminar a segunda, passe a executar no
modo habilitado.
Para evitar isso é bastante simples! Basta, antes de agir, verificar o status atual, ou seja, se já estiver desabilitada quando iniciar a função não deve-se fazer nada.
Como exemplo, vc pode adicionar no início de cada Macro:
Dim ScrUp as Boolean
ScrUp = Application.ScreenUpdating 'Verifica a situação atual
If ScrUp Then Application.ScreenUpdating = False
E ao final da Macro:
If ScrUp Then Application.ScreenUpdating = True
Assim sua ação somente será desfeita quando a primeira função terminar.
Abraço.
Filipe Magno