Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

.: Vitrine

Carregando artigos...

Views

Mostrando postagens com marcador Basics. Mostrar todas as postagens
Mostrando postagens com marcador Basics. Mostrar todas as postagens

VBA Excel Basics - Modo profissional de Abrir e Fechar o MS Excel


O objeto Application do MS Excel disponibiliza uma coleção de objetos para controle das janelas (Windows) que permitem que abramos, organizemos, redimensionemos e fechemos as janelas filhas (child) do MS Excel.

 O código abaixo abrirá uma nova janela filha e colocará as janelas em cascata, abrindo as janelas para a pasta de trabalho ativa:

Sub OpenCascadeWindows()
    ActiveWindow.NewWindow
    Application.Windows.Arrange xlArrangeStyleCascade, True
End Sub

Feche a janela aberta no código anterior e restaure a janela original para um estado maximizado no Excel:

Sub CloseMaximize()
    ActiveWindow.Close
    ActiveWindow.WindowState = xlMaximized
End Sub

Controle a janela pai do MS Excel usando as propriedades WindowState e DisplayFullScreen do objeto Application

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub ChangeExcelWindowState()
    Let Application.WindowState = xlMaximized
    Sleep 1000

    Let Application.WindowState = xlMinimized
    Sleep 1000

    Let Application.WindowState = xlNormal
    Sleep 1000

    Let Application.DisplayFullScreen = True
    Sleep 1000

    Let Application.DisplayFullScreen = False
End Sub

Tags: VBA, Excel, Basics, open, close, window, DisplayFullScree, WindowState, application, Kernel32, LIB, API, 


VBA Excel Basics - Bloqueando o usuário


O objeto Application do MS Excel fornece algumas formas que limitam a interação do usuário com a planilha que está usando. Isso será bem útil quando desejar impedir que os usuários interrompam alguma processo da sua aplicação MS Excel enquanto este executa algum processo demorado.

Explicando:

Defina a propriedade DisplayAlerts como False, escondendo as caixas de diálogo padrão do MS Excel enquanto o código for executado.

Configure a propriedade Interactive como False para bloquear completamente os usuários do MS Excel.

Otimize a propriedade ScreenUpdating como False, ocultando as alterações executadas via código. Um dos benefícios da definição de ScreenUpdating como False é que o código anterior é executado mais rapidamente, pois o MS Excel não precisa atualizar a tela ou rolar a planilha quando células estiverem selecionadas. 

Cada abordagem acima requer que se inclua um código no final do procedimento para retornar a configuração ao seus padrão original, caso contrário poderá bloquear um usuário permanentemente.

Segue:


Sub UserBlock()
    Dim cel As Range
    
    Let Application.Cursor = xlWait
    Let Application.Interactive = False
    Let Application.ScreenUpdating = False
    
    ' Simulando uma ação.
    For Each cel In [a1:iv999]
        cel.Select
    Next
    
    ' Restaura as configurações padrão
    Let Application.Interactive = True
    Let Application.ScreenUpdating = True
    Let Application.Cursor = xlDefault
    
    [a1].Select
End Sub


Tags: VBA, Excel, Basics, workbook, user, block, interactive, ScreenUpdating, DisplayAlerts, application

VBA Excel Basics - Como sair do MS Excel sem salvar nenhuma aba


Suponhamos que seja alguém extremamente preocupado em poupar os seus usuários do stress de precisarem salvar automaticamente suas planilhas e todas as abas que tenham sofrido alterações, sem acrescentar nenhuma ansiedade a tais por tal descuido.

Segue:


Sub EndNotSave(  )
    Dim wb As Workbook

    For Each wb In Workbooks
        ' Marca o workbook como salvo
        Let wb.Saved = True
    Next

    Application.Quit
End Sub


Tags: VBA, Excel, Basics, workbook, fechar, close, sem salvar, not save, no stress, stress

VBA Excel Basics - Salvando todos os Workbooks abertos antes de fechar o MS Excel sem avisar o usuário


Suponhamos que sejas alguém extremamente preocupado em poupar os seus usuários do stress de precisarem salvar automaticamente suas planilhas e todas as abas que tenham sofrido alterações, sem acrescentar nenhuma ansiedade a tais por tal descuido.

Segue:

Sub CloseSaveAll()
    Dim wb As Workbook
    For Each wb In Workbooks
        wb.Save
    Next
    Application.Quit
End Sub



Tags: VBA, Excel, Basics, workbook, fechar, close, salvar, save

diHITT - Notícias