この記事では、VBAを使用してMicrosoftExcelでユーザー定義関数を作成する方法を学習します。

ユーザー定義関数:-Microsoft Excelにはすでに多くの関数がありますが、それでも要件や状況は人によって異なります。ユーザー定義関数と呼ばれる要件に従って、独自の関数を作成できます。 Excelの他の関数と同じようにユーザー定義関数を使用できます。

以下は、ユーザー定義関数を作成するトピックです。1)。セルまたは範囲内の単語数を数える方法は?

2)。 Excelの文またはセルから単語を抽出する方法は?

3)。 ISOの式を作成するにはどうすればよいですか?

4)。 VBAを使用してワークシートとワークブック名​​を知る方法は?

5)。 Excelのセルから最初と最後の単語を抽出するにはどうすればよいですか?

セルまたは範囲内の単語数をカウントするユーザー定義関数を作成するにはどうすればよいですか?シート1にいくつかのアドレスがあるデータがあるので、ExcelのVBAを使用してユーザー定義関数を作成することにより、セルまたは範囲内の単語をカウントします。

image 1

ユーザー定義関数を作成するには、以下の手順に従ってください。-* VBAページを開き、Alt + F11キーを押します。

  • モジュールを挿入します。

以下のコードを書いてください:

Function WORDSCOUNT(rRange As Range) As Long

Dim rCell As Range

Dim Count As Long

For Each rCellInrRange

lCount = lCount + Len(Trim(rCell)) - Len(Replace(Trim(rCell), " ", "")) + 1

Next rCell

WORDSCOUNT = lCount

End Function

コードの説明:-ユーザー定義関数を作成するために、関数名のコードを開始し、変数を定義します。コードで「ForEachループ」を使用して、範囲内の単語をカウントしました。

Excelでこの関数を使用するにはどうすればよいですか?

この機能を使用するには、以下の手順に従ってください。-* Excelシートに移動します。

  • セルの単語を数えるには、セルD7に数式を入力します。

  • = WORDSCOUNT(C7)、セルC7は、単語を計算するセルです。

  • 関数は6を返します。これは、セルC7に6ワードが含まれていることを意味します。

  • 残りのセルについて同じ計算を行うには、同じ数式をコピーして範囲に貼り付けます。

image 2

  • 範囲内の単語をカウントするには、式を= WORDSCOUNT(C7:C16)として使用し、Enterキーを押します。

  • 関数は単語の数を返します。

image 3

注:-このUDFは、範囲内または単一のセル内の単語をカウントするのに役立ちます。

次に、指定された区切り文字(、)を使用して単語をカウントするコードを記述します。以下の手順に従ってください:-

Function SEPARATECOUNTWORDS(rRange As Range, Optional separator As Variant) 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

この関数を使用するには、以下の手順に従ってください:-

  • Excelシートに移動します。

  • 単語内の特定の区切り文字をカウントするために、この定義済み関数を使用します。

  • = SEPARATECOUNTWORDS(C7)を選択し、Enterキーを押します。

  • この関数は、特定の区切り文字の数を返します。

image 4

VBAを使用してMicrosoftExcelの文またはセルから単語を抽出するにはどうすればよいですか? sheet1にデータがあります。いくつかのアドレスがあるので、ExcelのVBAを介してユーザー定義関数を作成することにより、文、セル、または範囲から単語を抽出します。

image 5

ユーザー定義関数を作成するには、以下の手順に従ってください。-

  • VBAページを開き、Alt + F11キーを押します。

  • モジュールを挿入します。

以下のコードを書いてください*:-

Function GETWORD(Text As Variant, N As Integer, Optional Delimiter As Variant) As String

If IsMissing(Delimiter) Then

Delimiter = " "

End If

GETWORD = Split(Text, Delimiter)(N - 1)

End Function

コードの説明:-上記のコードでは、変数とともに関数名について説明しました。そして、文またはセルから単語を抽出するための基準を定義しました。

次に、この式の使用方法を学習します。以下の手順に従ってください:-* Excelシートに移動します。

  • セルD7でこの数式を使用します。

  • = GETWORD(C7,2)そしてEnterを押します。

  • 数式で2 ^ nd ^の数値の単語について説明したため、この関数はセルから2番目の単語を返します。 3 ^ rd ^の位置にある単語を取得する場合は、数式で数値を2から3に変更する必要があります。

image 6

VBAを使用してMicrosoftExcelでISO週番号の数式を作成するにはどうすればよいですか?このUDFを使用してExcelでISO週番号式を作成する方法を学習します。この関数を使用して、言及された日付がその年のどの週番号に属しているかを識別します。

シートに日付のリストがあり、2番目の列に週番号を取得します。

image 7

この要件のUDFを作成するには、以下の手順に従います。-* VBAページを開き、Alt + F11キーを押します。

  • モジュールを挿入します。

  • 以下のコードを書いてください:-

Function 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)

End Function

コードの説明:-:-上記のコードでは、変数とともに関数名について説明しました。次に、日付値を設定し、「ISOWEENUMBER」関数の基準を定義しました。

Excelファイルでこの関数をどのように使用できますか?

  • Excelシートに移動します。

  • セルD7に数式を入力します。

  • = ISOWEEKNUMBER(C7)、Enterキーを押します。

  • この関数は、セルに入力された日付の週を返します。

次に、各日付の週番号を取得するには、範囲内の同じ数式をコピーします。

image 8

次に、ExcelでISO標準の年初を返す方法を学習します-年の最初の月曜日。

この関数は基本的に、その年の1 ^ st ^月曜日がどの日付になるかをチェックし、その日付からの週数の計算を開始します。この要件に対応するUDFを作成する方法を見てみましょう。

image 9

以下の手順に従ってください。-* VBAページを開き、Alt + F11キーを押します。

  • モジュールを挿入します。

以下のコードを書いてください*:-

Function ISOSTYR(Year As Integer) As Date

Dim WD As Integer

Dim NY As Date

NY = DateSerial(Year, 1, 1)

WD = (NY - 2) Mod 7

If WD < 4 Then

ISOSTYR = NY - WD

Else

ISOSTYR = NY - WD + 7

End If

End Function

コードの説明:-上記のコードでは、変数とともに関数名について説明しました。そして、変数の基準を設定し、数式入力を定義しました。

この形式で2001年を指定するだけで、数式によってその年の1 ^ st ^月曜日が得られます。

次に、ExcelファイルでUDFを使用する方法を学習します。以下の手順に従ってください:-* Excelシートに移動します。

  • セルD7に数式を入力します。

  • = ISOSTYR(C7)を選択し、Enterキーを押します。

  • この関数は、新年の最初の週の1 ^ st ^月曜日の日付を返します。

  • 新年の最初の週の第1月曜日の日付を返すには、同じ数式をコピーして範囲に貼り付けます。

image 10

Microsoft ExcelのVBAを使用して、ワークシートとワークブックの名前を知る方法は?以下のコードと手順に従います。-* VBAページを開き、Alt + F11キーを押します。

  • モジュールを挿入します。

以下のコードを書いてください*:-

Function Worksheetname()

Worksheetname = Range("A1").Parent.Name

End Function

コードの説明:-上記のコードでは、関数名について説明し、シート名を知る方法を定義しました。

この数式を使用するには、次の方法で任意のセルに数式を入力する必要があります:-= Worksheetname()。この関数はシート名を返します。

image 11

ワークブック名​​の関数を作成するには、以下の手順とコードに従います。-* VBAページを開き、Alt + F11キーを押します。

  • モジュールを挿入します。

  • 以下のコードを書いてください:-

Function Workbookname()

Workbookname = ThisWorkbook.Name

End Function

コードの説明:-:-上記のコードでは、関数名について説明し、ワークブック名​​を知る方法を定義しました。

この数式を使用するには、次のように任意のセルに数式を入力する必要があります:-= Workbookname()。この関数はシート名を返します。

image 12

Microsoft ExcelでVBAを使用して、セルから最初と最後の単語を抽出するにはどうすればよいですか? sheet1にいくつかのアドレスがあるデータがあるので、ExcelのVBAを使用してユーザー定義関数を作成することにより、文、セル、または範囲から最後と最初の単語を抽出します。

image 13

まず、最初の単語を抽出する関数を記述します。以下の手順に従ってください。-* VBAページを開き、Alt + F11キーを押します。

モジュールを挿入する以下のコードを記述します*:-

Function 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, "")

End Function

コードの説明:-上記のコードでは、変数とともに関数名について説明しました。そして、文またはセルから単語を抽出するための基準を定義しました。

次に、この式の使用方法を学習します。以下の手順に従ってください:-

  • Excelシートに移動します。

  • セルD9でこの数式を使用します。

  • = GETFW(C9)を選択し、Enterキーを押します。

  • 関数はデータから最初の単語を返します。ここで、すべてのセルの最初の単語を取得するには、範囲内の同じ数式をコピーします。

image 14

  • 次に、セルから最後の単語を抽出するコードを記述します。

以下のコードに従ってください:-* VBAページを開き、Alt + F11キーを押します。

  • モジュールを挿入します。

以下のコードを書いてください*:-

Function 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

次に、この式の使用方法を学習します。以下の手順に従ってください:-* Excelシートに移動します。

  • セルD9でこの数式を使用します。

  • = GETLW(C9)Enterキーを押します。

  • 関数はデータから最後の単語を返します。ここで、すべてのセルの最後の単語を取得するには、範囲内の同じ数式をコピーします。

image 15

これらは、VBAを介して定義し、Excelの数式として使用できる関数です。また、さらに多くのユーザー定義関数を作成できます。

私たちと一緒に学び続けてください、私たちはもっとトリッキーな式を思い付くでしょう。

Excel