Trabalhando com funções VBA que retornam uma matriz no Excel 2016

As fórmulas de matriz são um dos recursos mais poderosos do Excel. Se você está familiarizado com fórmulas de array, ficará feliz em saber que pode criar funções VBA que retornam um array.

Retornando uma matriz de nomes de meses

Vamos começar com um exemplo simples. A função MonthNames retorna uma matriz de 12 elementos de - você adivinhou - nomes de meses.

Função MonthNames ()
  MonthNames = Array (“Janeiro”, “Fevereiro”, “Março”, _
   “Abril”, “maio”, “junho”, “julho”, “agosto”, _
   "Setembro Outubro Novembro Dezembro")
Função Final

Para usar a função MonthNames em uma planilha, você deve inseri-la como uma fórmula de matriz de 12 células. Por exemplo, selecione o intervalo A2: L2 e digite = MonthNames () . Em seguida, pressione Ctrl + Shift + Enter para inserir a fórmula de matriz em todas as 12 células selecionadas. Confira o resultado.

Trabalhando com funções VBA que retornam uma matriz no Excel 2016

Usando a função MonthNames para retornar uma matriz de 12 elementos.

Se você deseja que os nomes dos meses sejam exibidos em uma coluna, selecione 12 células em uma coluna e use esta fórmula de matriz. (Não se esqueça de digitá-lo pressionando Ctrl + Shift + Enter.)

= TRANSPOSE (MonthNames ())

Você também pode escolher um único mês da matriz. Aqui está uma fórmula (não uma fórmula de matriz) que exibe o quarto elemento da matriz: abril.

= INDEX (MêsNomes (), 4)

Retornando uma lista classificada

Suponha que você tenha uma lista de nomes que deseja mostrar em ordem de classificação em outro intervalo de células. Não seria bom ter uma função de planilha fazendo isso por você?

Essa função personalizada faz exatamente isso: pega um intervalo de células de uma única coluna como argumento e retorna uma matriz dessas células classificadas. Intervalo A2: A13 contém alguns nomes. Intervalo C2: C13 contém esta fórmula de matriz multicelular. (Lembre-se de que você deve inserir a fórmula pressionando Ctrl + Shift + Enter.)

Trabalhando com funções VBA que retornam uma matriz no Excel 2016

Usando uma função personalizada para retornar um intervalo classificado.

= Ordenado (A2: A13)

Este é o código para a função Sorted:

Função classificada (Rng como intervalo)
  Dim SortedData () como variante
  Dim Cell As Range
  Dim Temp As Variant, i As Long, j As Long
  Dim NonEmpty As Long
'Transferir dados para SortedData
  Para cada célula em Rng
    Se não estiver vazio (célula), então
      NonEmpty = NonEmpty + 1
      ReDim Preserve SortedData (1 para NonEmpty)
      SortedData (NonEmpty) = Cell.Value
    Fim se
  Próxima Célula
'Classificar a matriz
  Para i = 1 para não vazio
    Para j = i + 1 para não vazio
      If SortedData (i)> SortedData (j) Then
        Temp = SortedData (j)
        SortedData (j) = SortedData (i)
        SortedData (i) = Temp
      Fim se
    Próximo j
  Proximo eu
'Transpor a matriz e retorná-la
  Sorted = Application.Transpose (SortedData)
Função Final

A função Sorted começa criando uma matriz chamada SortedData. Esta matriz contém todos os valores não vazios no intervalo do argumento. Em seguida, a matriz SortedData é classificada, usando um algoritmo de classificação por bolha. Como a matriz é horizontal, ela deve ser transposta antes de ser retornada pela função.

A função classificada funciona com um intervalo de qualquer tamanho, desde que esteja em uma única coluna ou linha. Se os dados não classificados estiverem em uma linha, sua fórmula precisará usar a função TRANSPOSE do Excel para exibir os dados classificados horizontalmente. Por exemplo:

= TRANSPOSE (classificado (A16: L16))

Leave a Comment

12 Atalhos de teclas de função do Word 2016

12 Atalhos de teclas de função do Word 2016

Descubra os principais atalhos de teclado do Word 2016 para melhorar sua produtividade. Desde o uso das teclas de função até rápidas combinações de atalhos.

Apagar desenhos de caneta e marca-texto nos slides do PowerPoint

Apagar desenhos de caneta e marca-texto nos slides do PowerPoint

Aprenda como apagar desenhos de caneta e marca-texto nos slides do PowerPoint para manter suas apresentações sempre organizadas e profissionais.

Como remover campos e itens calculados de uma tabela dinâmica do Excel

Como remover campos e itens calculados de uma tabela dinâmica do Excel

Você pode remover facilmente campos e itens calculados de uma tabela dinâmica do Excel. Siga os passos simples para gerenciar seus dados de forma eficiente!

Como usar o recurso de documento mestre do Word 2019

Como usar o recurso de documento mestre do Word 2019

Descubra como usar o recurso de documento mestre do Word 2019 para organizar grandes documentos de forma eficiente e otimizar a edição. Ideal para romances e textos longos.

Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet é uma plataforma de trabalho dinâmica que permite gerenciar projetos, criar fluxos de trabalho e colaborar com sua equipe.

SharePoint

SharePoint

SharePoint é um sistema de colaboração baseado na web que usa uma variedade de aplicativos de fluxo de trabalho, bancos de dados de “lista” e outros componentes da web, bem como recursos de segurança para dar controle ao trabalho conjunto de grupos empresariais.

Calendário Perpétuo 1.0.38/1.0.36

Calendário Perpétuo 1.0.38/1.0.36

Van Nien Calendar é um aplicativo de visualização de calendário em seu telefone, ajudando você a ver rapidamente a data lunisolar em seu telefone, organizando assim seu trabalho importante.

Microsoft Outlook 2021

Microsoft Outlook 2021

O Microsoft Outlook é um aplicativo comercial e de produtividade desenvolvido pela Microsoft Corporation.

Clique para cima

Clique para cima

ClickUp é uma das plataformas de produtividade mais bem avaliadas para qualquer empresa. Grandes empresas como Google, Booking.com, San Diego Padres e Uber usam ClickUp para aumentar a produtividade no local de trabalho.

Visualizador PDF-XChange 2.5.322.10

Visualizador PDF-XChange 2.5.322.10

PDF se tornou um formato comumente usado para leitura, criação e envio de documentos de texto. Por sua vez, tem havido um aumento no número de programas utilizados para este tipo de documentação. PDF-XChange Viewer está entre um número crescente de visualizadores de PDF.