Três macros de uso diário para Excel

Quando as pessoas escutam “macro de Excel”, pensam em algo muito mais complicado do que realmente é. Sei disso, porque também pensava assim. Mas a complexidade das macros restringe-se à sua criação: copiar e colar uma delas da internet é muito simples. Com as instruções do meu último post, Trabalhando com macros no Excel moderno, você pode configurar e utilizar as macros abaixo.

A macro tem um poder inigualável no pacote Office de automatizar tarefas desnecessariamente complexas e reduzí-las a um clique do mouse. Talvez, para algumas pessoas, essas macros pareçam desnecessárias, pois elas são apenas formas mais simples de fazer uma tarefa que já é simples. Contudo, seu dia será mais produtivo com elas.

Redimensionar todas as colunas à mínima largura possível

A largura padrão de uma coluna no Excel é de 8,43 caracteres, geralmente muito curta para quase todos os propósitos. A seguinte macro permite que você faça em um comando o redimensionamento de todas as colunas, fazendo com que elas se adequem à largura do texto ou número mais largo de cada coluna:

Sub AutoRedimensionarTudo()
    Application.ScreenUpdating = False

    Dim wkSt As String
    Dim wkBk As Worksheet

    wkSt = ActiveSheet.Name

    For Each wkBk In ActiveWorkbook.Worksheets
        On Error Resume Next
        wkBk.Activate
        Cells.EntireColumn.AutoFit
    Next wkBk
    Sheets(wkSt).Select

    Application.ScreenUpdating = True

End Sub

Você pode seguir as instruções da Microsoft sobre como redimensionar colunas e linhas, mas a macro é mais rápida e mais conveniente na maioria dos casos, especialmente quando comparado com o que todo mundo faz: selecionar tudo e clicar duas vezes entre duas colunas. Com esse método popular, se você arrastar uma coluna para o lado sem querer, forçará aquela largura para todas as colunas da planilha inteira, o que as vezes pode significar um retrabalho para reajustar tudo que foi alterado.

Duplicar uma linha logo abaixo da sua cópia original

Eu criei essa macro porque estou no meu segundo emprego seguido onde preciso duplicar linhas diariamente. O processo normal, de selecionar uma linha inteira e usar a opção “Inserir células copiadas” funciona bem se você não estiver usando filtros. Contudo, se as linhas 66 a 79 estão filtradas e a última linha é a 530, tentar inserir algo na linha 80 pode fazer com que você crie a linha 531 sem querer.

Portanto:

Sub DuplicarLinha()
    ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrAbove
    ActiveCell.EntireRow.Copy
    ActiveCell.Offset(1).EntireRow.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End Sub

O método mais comum de duplicar linhas, que expliquei acima, pode ser contornado fazendo a classificação dos dados na ordem adequada — presumindo, claro, que estejam em uma ordem alfabética ou numérica para começo de conversa. Mesmo que esteja, a macro é mais rápida e mais conveniente na maior parte dos casos.

Copiar a soma de várias células para poder colar em outra célula ou programa

Essa é mais complexa para configurar, mas vale a pena.

O primeiro passo é encontrar um arquivo chamado FM20.DLL no seu PC. Eu encontrei no meu em C:\Program Files (x86)\Microsoft Office\root\vfs\SystemX86, mas isso depende da sua instalação do Excel.

Depois disso, você deve ir no Excel, abrir o Microsof Visual Basic for Applications Editor através da combinação de teclas Alt+F11. Com ele aberto, abra o menu “Ferramentas” e escolha a opção “Referências”. Você deve chegar nesta tela:

Caixa de diálogo para adicionar Referências no VBA do Excel.
Clique no botão “Procurar” e, logo em seguida, encontre esse arquivo FM20.DLL. O Microsoft Forms 2.0 Object Library deve ser adicionado à lista de referências.

Uma vez que ele esteja adicionado, você pode utilizar a seguinte macro para copiar a soma dos valores das células que você selecionar:

Sub SomarParaCopiar()
    Dim theData As New DataObject
    theData.SetText Format(Application.WorksheetFunction.Sum(Selection))
    theData.PutInClipboard
End Sub
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s