Como criar uma função definida pelo usuário no Microsoft Excel

Anonim

Neste artigo, vamos aprender como criar funções definidas pelo usuário no Microsoft Excel usando o VBA.

Função definida pelo usuário: - O Microsoft Excel já está tendo muitas funções, mas ainda assim todo mundo tem requisitos diferentes, situação, podemos criar nossa própria função de acordo com o requisito que é chamado de função definida pelo usuário. Podemos usar a função definida pelo usuário como outras funções no Excel.

Abaixo estão os tópicos para os quais criaremos a função definida pelo usuário:

1). Como contar o número de palavras na célula ou intervalo?

2). Como extrair uma palavra de uma frase ou célula no Excel?

3). Como criar a fórmula para ISO?

4). Como saber o nome da planilha e da pasta de trabalho usando o VBA?

5). Como extrair a primeira e a última palavra de uma célula no Excel?

Como criar a função definida pelo usuário para contar o número de palavras na célula ou intervalo?

Temos dados na planilha 1 na qual temos alguns endereços, então queremos contar as palavras em uma célula ou um intervalo, criando a função definida pelo usuário por meio do VBA no Excel.

Para fazer a função definida pelo usuário, siga as etapas abaixo: -

  • Abra a página do VBA e pressione a tecla Alt + F11.
  • Insira um módulo.

Escreva o código abaixo mencionado:

 Função PALAVRASCOUNT (rRange As Range) As Long Dim rCell As Range Contagem Dim As Long For Cada rCellInrRange lCount = lCount + Len (Trim (rCell)) - Len (Replace (Trim (rCell), "", "")) + 1 Próximo rCell PALAVRASCOUNT = Função Final lCount 

Explicações de código: - Para fazer a função definida pelo usuário iniciamos o código para o nome da função e definimos as variáveis. Usamos “For Each loops” no código para contar as palavras no intervalo.
Como usar esta função no Excel?

Para usar esta função, siga as etapas abaixo: -

  • Vá para a planilha do Excel.
  • Para contar as palavras de uma célula, insira a fórmula na célula D7.
  • = PALAVRAS CONTA (C7), a célula C7 é a célula na qual queremos calcular as palavras.
  • A função retornará 6, o que significa que a célula C7 contém 6 palavras.
  • Para fazer o mesmo cálculo para o restante das células, copie a mesma fórmula e cole no intervalo.

  • Para contar as palavras no intervalo, use a fórmula como = PALAVRAS CONTA (C7: C16) e pressione Enter.
  • A função retornará a contagem das palavras.


Nota: - Este UDF será útil para contar as palavras em um intervalo ou em uma única célula.

Agora vamos escrever o código para contar a palavra usando o delimitador especificado (,). Siga as etapas abaixo: -

 Função SEPARATECOUNTWORDS (rRange como intervalo, separador opcional como variante) As Long Dim rCell As Range Dim Count As Long If IsMissing (separator) Then separator = "," End If For Each rCellInrRange lCount = lCount + Len (Trim (rCell)) - Len (Replace (Trim (rCell), separator, "")) Next rCell SEPARATECOUNTWORDS = lCount End Function 

Para usar esta função, siga as etapas abaixo: -

  • Vá para a planilha do Excel.
  • Para contar os delimitadores específicos na palavra, usaremos esta função definida.
  • = SEPARATECOUNTWORDS (C7) e pressione Enter.
  • A função retornará a contagem dos delimitadores específicos.


Como extrair uma palavra de uma frase ou célula no Microsoft Excel usando o VBA?

Temos dados na planilha1. No qual temos alguns endereços, queremos extrair as palavras de uma frase ou célula ou um intervalo, criando a função definida pelo usuário através do VBA no Excel.


Para fazer a função definida pelo usuário, siga as etapas abaixo: -

  • Abra a página do VBA e pressione a tecla Alt + F11.
  • Insira um módulo.
  • Escreva o código abaixo mencionado:-
 Função GETWORD (Texto como Variante, N como Inteiro, Delimitador Opcional como Variante) As String If IsMissing (Delimiter) Then Delimiter = "" End If GETWORD = Split (Texto, Delimitador) (N - 1) End Function 

Explicação do código: - No código mencionado acima, mencionamos o nome da função com as variáveis. E então definimos os critérios para extrair a palavra da frase ou célula.

Agora aprenderemos como usar essa fórmula. Siga as etapas abaixo: -

  • Vá para a planilha do Excel.
  • Use esta fórmula na célula D7.
  • = GETWORD (C7,2) e pressione Enter.
  • A função retornará a segunda palavra da célula porque na fórmula mencionamos para 2WL palavra do número. Se você deseja recuperar a palavra que está colocada em 3rd posição, você precisa alterar o número de 2 para 3 na fórmula.


Como criar a fórmula do número da semana ISO no Microsoft Excel usando o VBA?

Aprenderemos como podemos criar a fórmula do número da semana ISO no Excel com este UDF. Esta função usaremos para identificar que a data mencionada pertence a qual número da semana do ano.

Temos uma lista de datas na planilha e, na segunda coluna, queremos recuperar os números da semana.

Para criar a UDF para este requisito, siga as etapas fornecidas abaixo:-

  • Abra a página do VBA e pressione a tecla Alt + F11.
  • Insira um módulo.
  • Escreva o código abaixo mencionado: -
 Função ISOWEEKNUMBER (Indate As Date) As Long Dim Dt As Date Dt = DateSerial (Year (Indate - Weekday (Indate - 1) + 4), 1, 3) ISOWEEKNUMBER = Int ((Indate - Dt + Weekday (Dt) + 5 ) / 7) Função final 

Explicação do código: -: - No código acima, mencionamos o nome da função com as variáveis. E então definimos o valor da data e definimos os critérios da função “ISOWEENUMBER”.
Como podemos usar esta função em nosso arquivo Excel?

  • Vá para a planilha do Excel.
  • Insira a fórmula na célula D7.
  • = ISOWEEKNUMBER (C7) e pressione Enter.
  • A função retornará a semana para a data inserida na célula. Agora, para recuperar o número da semana para cada data, copie a mesma fórmula no intervalo.


Agora aprenderemos como retornar os padrões ISO do início do ano no Excel - Primeira segunda-feira do ano.

Esta função irá basicamente verificar se 1st A segunda-feira do ano cairá nessa data e então começará a calcular o número de semanas a partir dessa data. Vamos ver como podemos criar a UDF para este requisito.


Siga as etapas abaixo:-

  • Abra a página do VBA e pressione a tecla Alt + F11.
  • Insira um módulo.
  • Escreva o código abaixo mencionado:-
 Função ISOSTYR (ano como inteiro) como data Dim WD como inteiro Dim NY como data NY = DateSerial (ano, 1, 1) WD = (NY - 2) Mod 7 If WD <4 Then ISOSTYR = NY - WD Else ISOSTYR = NY - WD + 7 End If End Function 

Explicação do código: - No código acima, mencionamos o nome da função com as variáveis. E, então, definimos os critérios para as variáveis ​​e definimos a entrada da fórmula.

Você só precisa fornecer o ano de 2001 neste formato e a fórmula lhe dará 1st Segunda-feira do ano.

Agora aprenderemos como usar o UDF no arquivo Excel. Siga as etapas abaixo: -

  • Vá para a planilha do Excel.
  • Insira a fórmula na célula D7.
  • = ISOSTYR (C7) e pressione Enter.
  • A função retornará a data do 1st Segunda-feira da primeira semana do Ano Novo.
  • Para retornar a data do 1st Segunda-feira da primeira semana do Ano Novo, copie a mesma fórmula e cole no intervalo.


Como saber o nome da planilha e da pasta de trabalho usando o VBA no Microsoft Excel?

Siga o código e as etapas fornecidas abaixo:-

  • Abra a página do VBA e pressione a tecla Alt + F11.
  • Insira um módulo.
  • Escreva o código abaixo mencionado:-
 Função Worksheetname () Worksheetname = Range ("A1"). Parent.Name End Function 

Explicação do código: - No código acima mencionamos o nome da função e depois definimos como saber o nome da folha.

Para usar esta fórmula, você só precisa inserir a fórmula em qualquer célula desta forma: - = Nome da planilha (). A função retornará o nome da planilha.


Para criar a função para o nome da pasta de trabalho, siga as etapas e códigos fornecidos abaixo: -

  • Abra a página do VBA e pressione a tecla Alt + F11.
  • Insira um módulo.
  • Escreva o código abaixo mencionado: -
 Function Workbookname () Workbookname = ThisWorkbook.Name End Function 

Explicação do código: -: - No código acima, mencionamos o nome da função e, em seguida, definimos como saber o nome da pasta de trabalho.

Para usar esta fórmula, você só precisa inserir a fórmula em qualquer célula desta forma: - = Workbookname (). A função retornará o nome da planilha.


Como extrair a primeira e a última palavra de uma célula usando o VBA no Microsoft Excel?

Temos dados na planilha1 na qual temos alguns endereços, portanto, queremos extrair a última e a primeira palavra de uma frase ou célula ou de um intervalo, criando a função definida pelo usuário por meio do VBA no Excel.

Primeiro, vamos escrever a função para extrair a primeira palavra. Siga as etapas abaixo: -

  • Abra a página do VBA e pressione a tecla Alt + F11.
  • Insira um módulo

Escreva o código abaixo mencionado:-

 Função GETFW (Text As String, Optional Separator As Variant) Dim FW As String If IsMissing (Separator) Then Separator = "" End If FW = Left (Text, InStr (1, Text, Separator, vbTextCompare)) GETFW = Replace (FW , Separator, "") Função Final 

Explicação do código: - No código mencionado acima, mencionamos o nome da função com as variáveis. E então definimos os critérios para extrair a palavra da frase ou célula.

Agora aprenderemos como usar essa fórmula. Siga as etapas abaixo: -

  • Vá para a planilha do Excel.
  • Use esta fórmula na célula D9.
  • = GETFW (C9) e pressione Enter.
  • A função retornará a primeira palavra dos dados. Agora, para recuperar a primeira palavra de todas as células, copie a mesma fórmula no intervalo.

Agora vamos escrever o código para extrair a última palavra da célula. Siga o código mencionado abaixo: -

  • Abra a página do VBA e pressione a tecla Alt + F11.
  • Insira um módulo.
  • Escreva o código abaixo mencionado:-
 Função GETLW (Text As String, Optional Separator As Variant) Dim LW As String If IsMissing (Separator) Then Separator = "" End If LW = StrReverse (Text) LW = Left (lastword, InStr (1, LW, Separator, vbTextCompare) ) GETLW = StrReverse (Replace (LW, Separator, "")) End Function 

Agora aprenderemos como usar essa fórmula. Siga as etapas abaixo: -

  • Vá para a planilha do Excel.
  • Use esta fórmula na célula D9.
  • = GETLW (C9) Pressione Enter.
  • A função retornará a última palavra dos dados. Agora, para recuperar a última palavra de todas as células, copie a mesma fórmula no intervalo.

Estas são as funções que podemos definir através do VBA e então podemos usá-las como fórmula do Excel. Além disso, podemos criar muito mais funções definidas pelo usuário. Continue aprendendo conosco, nós encontraremos fórmulas mais complicadas.