VBA – Fechando todos os UserForms da aplicação


Uma necessidade meio atípica, mas o dia a dia é feito delas certo?

Caso você tenha uma aplicação em VBA que tenha muitoas forms aberto, a rotina abaixo fecha todos os aberto, sem precisar fazê-lo um a um e sem precisar saber quantos são.

Sub FechaTodos()
    Dim i As Long, Str As String
    For i = VBA.UserForms.Count - 1 To 0 Step -1
        Str = Str & VBA.UserForms(i).Name & vbNewLine
        Unload VBA.UserForms(i)
        Next i
    MsgBox Str & "unloaded"
End Sub

Simples, fácil, funcional.

Referências:

http://www.mrexcel.com/forum/showthread.php?t=69426

Bom proveito!

Comentários

comentários