Use macros no Excel no Mac para economizar tempo e fazer mais

Use macros no Excel no Mac para economizar tempo e fazer mais

O Excel no Mac nem sempre foi a mesma potência do Windows. As macros realmente não funcionariam a menos que fossem criadas exclusivamente para o Mac.





A partir de 2013, a Microsoft trouxe de volta macros. Existem dois tipos de macros: aquelas que você pode criar registrando rapidamente suas ações e aquelas que usam VBA para projetar automações mais avançadas. Com o Office 2016, o Excel está usando o mesma base de código em todas as plataformas . Essa alteração tornará mais fácil o funcionamento das macros em várias plataformas.





Então, vamos dar uma olhada em como isso funciona atualmente no macOS.





razões pelas quais a mídia social é ruim

Habilitando Macros no Excel no Mac

Trabalhar com macros no Excel em seu Mac pode não estar habilitado por padrão. Essa configuração ocorre porque as macros podem ser um possível vetor de malware. A maneira mais fácil de saber é ver se você tem o Desenvolvedor guia disponível na faixa de opções no Excel. Se você não o vir, é simples de habilitar.

Clique em Excel na barra de menu e, em seguida, selecione Preferências na lista suspensa. No menu, clique em Faixa de Opções e Barra de Ferramentas . Na lista da direita, Desenvolvedor deve estar na parte inferior, clique na caixa de seleção. Por fim, clique Salve  e você deverá ver a guia Desenvolvedor aparecer no final da Faixa de Opções.



Depois de criar cada pasta de trabalho com macros, salve-a em um novo formato .xlsm para usar as macros após reabrir o arquivo. Se você esquecer, o Excel irá lembrá-lo cada vez que você tentar salvar. Você também precisará habilitar as macros sempre que abrir o arquivo.

Gravando manualmente uma macro no Excel no Mac

Embora você possa codificar macros , isso pode não ser para todos. Se você não estiver pronto para começar a trabalhar com o VBA, o Excel permite que você grave as etapas da macro em uma planilha existente. Clique na guia Desenvolvedor para ver suas opções.





Você está procurando a terceira opção na faixa de opções, Macro de registro . Clique aqui para abrir uma caixa de diálogo que permite nomear sua macro e definir um atalho de teclado. Você pode definir o escopo de sua macro para o Caderno de Trabalho Atual , para Novo Livro de Trabalho , ou em seu Apostila de macro pessoal . A Pasta de trabalho de macro pessoal está em seu perfil de usuário e permite que você use suas macros entre seus arquivos.

Depois de registrar suas ações, elas estarão disponíveis nesta mesma guia. Clicar em macros abrirá as macros salvas em sua pasta de trabalho. Clique no nome da sua macro e clique em Corre para executar suas ações gravadas.





Exemplo 1: Total de Vendas Diárias e Média Horária

Para um exemplo de macro, você vai percorrer uma planilha de vendas diárias, com as vendas divididas por totais por hora. Sua macro vai adicionar um total de vendas diárias e, em seguida, adicionar uma média na última coluna de cada período de uma hora. Se você trabalha no varejo ou em outra posição de vendas, esta folha é útil para rastrear a receita.

Precisamos configurar a primeira folha. Usar este primeiro espaço em branco como um modelo para copiar em uma nova guia a cada dia pode economizar algum tempo. Na primeira coluna / linha, coloque hora / data. Na parte superior, adicione de segunda a sexta-feira.

Então, na primeira coluna, coloque uma divisão dos totais por hora de 8-5. Usei o formato de 24 horas, mas você pode usar a notação AM / PM se preferir. Sua planilha deve corresponder à captura de tela acima.

Adicione uma nova guia e copie seu modelo nela. Em seguida, preencha seus dados de vendas do dia. (Se você não tiver dados para preencher esta planilha, pode entrar = RandBetween (10.1000) em todas as células para criar dados fictícios.) Em seguida, clique em Desenvolvedor na faixa de opções.

Em seguida, clique em Macro de registro . Na caixa de diálogo, digite o nome como Média e Soma e deixá-lo armazenado em Esta apostila . Você pode definir uma tecla de atalho, se desejar. Você pode inserir uma descrição se precisar de mais detalhes sobre o que a macro faz. Clique em ok para iniciar a configuração da macro.

Na parte inferior das listas de hora em hora, insira Totais Diários . Na célula ao lado dela, digite = SOMA (B2: B10) . Em seguida, copie e cole no resto das colunas. Então, no cabeçalho, adicione Média após a última coluna. Então, na próxima célula abaixo, digite = Média (B2: F2) . Em seguida, cole-o nas células do restante da coluna.

Então clique Pare de gravar . Sua macro agora pode ser usada em cada nova planilha que você adicionar à pasta de trabalho. Assim que tiver outra folha de dados, volte para Desenvolvedor e clique Macros . Sua macro deve ser destacada, clique em executar para adicionar suas somas e médias.

Este exemplo pode economizar algumas etapas, mas para ações mais complexas que podem somar. Se você fizer as mesmas operações em dados com formatação idêntica, use macros gravadas.

Macros VBA no Excel no Mac

Macros gravadas manualmente no Excel ajudam com dados que estão sempre no mesmo tamanho e forma. Também é útil se você deseja executar ações em toda a planilha. Você pode usar sua macro para provar o problema.

Adicione outra hora e dia à planilha e execute a macro. Você verá que a macro substitui seus novos dados. A maneira de contornar isso é usando código para tornar a macro mais dinâmica usando VBA, que é um versão reduzida do Visual Basic . A implementação foca na automação para Office.

Não é tão fácil de entender como Applescript , mas a automação do Office é inteiramente construída em torno do Visual Basic. Assim, depois de trabalhar com ele aqui, você poderá rapidamente voltar e usá-lo em outros aplicativos do Office. (Também pode ser uma grande ajuda se você estiver preso a um PC com Windows no trabalho.)

Ao trabalhar com VBA no Excel, você tem uma janela separada. A captura de tela acima é nossa macro gravada conforme aparece no editor de código. O modo de janela pode ser útil para brincar com seu código enquanto você aprende. Quando sua macro é travada, existem ferramentas de depuração para observar o estado de suas variáveis ​​e dados de planilha.

O Office 2016 agora vem com o editor Visual Basic completo. Ele permite que você use o Pesquisador de objetos e ferramentas de depuração que costumavam ser limitadas à versão do Windows. Você pode acessar o Object Browser indo para Exibir> Navegador de objetos ou apenas pressione Shift + Command + B . Você pode então navegar por todas as classes, métodos e propriedades disponíveis. Foi muito útil na construção do código da próxima seção.

Exemplo 2: Total de Vendas Diárias e Média Horária com Código

Antes de começar a codificar sua macro, vamos começar adicionando um botão ao modelo. Esta etapa torna muito mais fácil para um usuário iniciante acessar sua macro. Eles podem clicar em um botão para chamar a macro em vez de vasculhar as guias e menus.

Volte para a folha de modelo em branco que você criou na última etapa. Clique em Desenvolvedor para voltar à guia. Quando estiver na guia, clique em Botão . Em seguida, clique em algum lugar da folha do modelo para colocar o botão. O menu de macros aparece, nomeie sua macro e clique em Novo .

A janela do Visual Basic será aberta; você o verá listado como Módulo 2 no navegador do projeto. O painel de código terá Sub AverageandSumButton () no topo e algumas linhas abaixo End Sub . Seu código precisa estar entre esses dois, pois é o início e o fim de sua macro.

Etapa 1: Declarando Variáveis

Para começar, você precisará declarar todas as suas variáveis. Eles estão no bloco de código abaixo, mas uma observação sobre como são construídos. Você deve declarar todas as variáveis ​​usando Nenhum antes do nome, e então Como com o tipo de dados.

Sub AverageandSumButton()
Dim RowPlaceHolder As Integer
Dim ColumnPlaceHolder As Integer
Dim StringHolder As String
Dim AllCells As Range
Dim TargetCells As Range
Dim AverageTarget As Range
Dim SumTarget As Range

Agora que você tem todas as suas variáveis, precisa usar algumas das variáveis ​​de intervalo imediatamente. Intervalos são objetos que contêm seções da planilha como endereços. A variável Todas as células será definido para todas as células ativas na planilha, o que inclui os rótulos de coluna e linha. Você consegue isso chamando o ActiveSheet objeto e então é UsedRange propriedade.

O problema é que você não quer que os rótulos sejam incluídos nos dados de média e soma. Em vez disso, você usará um subconjunto do intervalo AllCells. Este será o intervalo TargetCells. Você declara manualmente seu intervalo. Seu endereço inicial será a célula na segunda linha da segunda coluna do intervalo.

Você chama isso chamando seu AllCells intervalo, usando seu Células classe para obter essa célula específica usando (2.2) . Para obter a célula final no intervalo, você ainda chamará AllCells . Desta vez usando SpecialCells método para obter a propriedade xlCellTypeLastCell . Você pode ver ambos no bloco de código abaixo.

Set AllCells = ActiveSheet.UsedRange
Set TargetCells = Range(AllCells.Cells(2, 2), AllCells.SpecialCells(xlCellTypeLastCell))

Etapa 2: Para Cada Loops

As próximas duas seções de código são loops For Each. Esses loops passam por um objeto para atuar em cada subconjunto desse objeto. Nesse caso, você está fazendo dois deles, um para cada linha e um para cada coluna. Uma vez que eles são quase exatamente iguais, apenas um deles está aqui; mas ambos estão no bloco de código. Os detalhes são virtualmente idênticos.

Antes de iniciar o loop para cada linha, você precisa definir a coluna de destino onde o loop grava a média de cada linha. Você usa o ColumnPlaceHolder variável para definir este alvo. Você define igual ao Contar variável do Células classe de AllCells . Adicione um a ele para movê-lo para a direita de seus dados, anexando +1 .

Em seguida, você vai iniciar o loop usando Para cada . Então você deseja criar uma variável para o subconjunto, neste caso, subLinha . Depois de No , definimos o objeto principal que estamos analisando Células alvo . Acrescentar .Rows no final para limitar o loop a apenas cada linha, em vez de todas as células do intervalo.

Dentro do loop, você usa o método ActiveSheet.Cells para definir um destino específico na planilha. As coordenadas são definidas usando subRow.Row para obter a linha em que o loop está. Então, você usa ColumnPlaceHolder para a outra coordenada.

Você usa isso para todas as três etapas. O primeiro que você anexa .valor após os parênteses e igual a WorksheetFunction.Aadise (subRow) . Isso grava a fórmula para a média da linha em sua célula-alvo. A próxima linha que você anexa .Estilo e definir isso igual a 'Moeda' . Esta etapa corresponde ao resto da sua planilha. Na última linha, você acrescenta .Negrito e defini-lo igual a Verdade . (Observe que não há aspas em torno deste, pois é o valor booleano.) Esta linha coloca a fonte em negrito para fazer com que as informações do resumo se destaquem do resto da planilha.

Ambas as etapas estão no exemplo de código abaixo. O segundo loop troca linhas por colunas e altera a fórmula para Soma . Usar este método vincula seus cálculos ao formato da planilha atual. Caso contrário, está vinculado ao tamanho no momento em que você grava a macro. Então, quando você trabalha mais dias ou horas, a função cresce com seus dados.

aplicativos para salvar vídeos do YouTube no rolo da câmera
ColumnPlaceHolder = AllCells.Columns.Count + 1
For Each subRow In TargetCells.Rows
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Value = WorksheetFunction.Average(subRow)
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Style = 'Currency'
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Font.Bold = True
Next subRow
RowPlaceHolder = AllCells.Rows.Count + 1
For Each subColumn In TargetCells.Columns
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Value = WorksheetFunction.Sum(subColumn)
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Style = 'Currency'
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Font.Bold = 'True'
Next subColumn

Etapa 3: rotule seus resumos

Em seguida, rotule a nova linha e coluna, defina RowPlaceHolder e ColumnPlaceHolder novamente. Primeiro uso AllCells.Row para obter a primeira linha do intervalo e, em seguida, AllCells.Column + 1 para obter a última coluna. Então você usará o mesmo método do loop para definir o valor para 'Vendas Médias' . Você também usará o mesmo .Negrito propriedade para negrito seu novo rótulo.

Em seguida, inverta-o, definindo seus marcadores de posição para a primeira coluna e última linha para adicionar 'Vendas totais' . Você também quer colocar isso em negrito.

Ambas as etapas estão no bloco de código abaixo. Este é o fim da macro observada por End Sub . Agora você deve ter a macro inteira e ser capaz de clicar no botão para executá-la. Você pode colar todos esses blocos de código em ordem em sua planilha do Excel se quiser trapacear, mas onde está a diversão nisso?

ColumnPlaceHolder = AllCells.Columns.Count + 1
RowPlaceHolder = AllCells.Row
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = 'Average Sales'
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True
ColumnPlaceHolder = AllCells.Column
RowPlaceHolder = AllCells.Rows.Count + 1
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = 'Total Sales'
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True
End Sub

O que vem por aí para macros no Excel no Mac?

As macros gravadas são ótimas para usar na repetição previsível. Mesmo que seja algo tão simples como redimensionar todas as células e colocar os cabeçalhos em negrito, isso pode economizar seu tempo. Somente evite erros comuns de macro .

O Visual Basic abre a porta para os usuários do Mac Excel se aprofundarem na automação do Office. O Visual Basic estava tradicionalmente disponível apenas no Windows. Ele permite que suas macros se adaptem aos dados dinamicamente, tornando-os mais versáteis. Se você tiver paciência, esta pode ser a porta de entrada para uma programação mais avançada.

Quer mais truques com planilhas que economizam tempo? Aprenda como destacar dados específicos automaticamente com formatação condicional no Excel e destaque condicional no Numbers no Mac.

Compartilhado Compartilhado Tweet O email 3 maneiras de verificar se um e-mail é verdadeiro ou falso

Se você recebeu um e-mail que parece um pouco duvidoso, é sempre melhor verificar sua autenticidade. Aqui estão três maneiras de saber se um e-mail é real.

Leia a seguir
Tópicos relacionados
  • Mac
  • Produtividade
  • Programação
  • Programação Visual Basic
  • Microsoft Excel
Sobre o autor Michael McConnell(44 artigos publicados)

Michael não usou um Mac quando eles estavam condenados, mas ele pode codificar em Applescript. Ele é formado em Ciência da Computação e Inglês; ele tem escrito sobre Mac, iOS e videogames há algum tempo; e ele tem sido um macaco de TI durante o dia por mais de uma década, especializando-se em scripts e virtualização.

Mais de Michael McConnell

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever
Categoria Mac