Word VBAで関数を使いこなす!初心者でもできるカスタム関数の作り方と活用法

パソコンパソコン・スマホ教室
スポンサーリンク

Wordでの作業をもっと効率的にしたいと思ったことはありませんか?例えば、文書内の日付を一括で和暦に変換したり、特定の単語を強調表示したり。そんなときに便利なのが、Word VBAの「ユーザー定義関数(UDF)」です。

今回は、初心者の方でも安心して始められるように、UDFの作り方から実際の活用例まで、わかりやすく解説します。これを読めば、あなたもWord VBAの達人になれるかも?

スポンサーリンク

Word VBAのユーザー定義関数(UDF)とは?

Wordのイメージ

Wordのイメージ

Word VBAのユーザー定義関数(UDF)とは、標準の関数では対応できない処理を自分で作成して、Word文書内で利用できるようにするものです。例えば、特定の文字列を検索して置換する、日付の形式を変換する、などの処理を自分の手で作り込むことができます。

UDFを作成するための準備

まずは、UDFを作成するための準備をしましょう。

  1. Wordを開くWordを起動し、任意の文書を開きます。
  2. VBAエディタを開くキーボードの「Alt」キーを押しながら「F11」キーを押すと、VBAエディタが開きます。
  3. モジュールを挿入VBAエディタのメニューから「挿入」→「モジュール」を選択します。これで新しいモジュールが作成されます。

UDFの基本的な書き方

UDFは、以下のような構文で作成します。

Function 関数名(引数1 As 型, 引数2 As 型) As 戻り値の型
' 処理内容
関数名 = 結果
End Function

例えば、2つの数値を足し算する関数は以下のようになります。

Function 足し算(数1 As Double, 数2 As Double) As Double
足し算 = 数1 + 数2
End Function

この関数を使うと、Word文書内で「=足し算(3, 5)」と入力するだけで、結果が表示されます。

UDFを活用した実践例

実際に役立つUDFの例をいくつか紹介します。

例1日付を和暦に変換する関数

西暦の日付を和暦に変換する関数を作成します。

Function 和暦(日付 As Date) As String
Dim 年 As Integer
年 = Year(日付)
If 年 >= 2019 Then
和暦 = "令和" & 年 - 2018 & "年"
ElseIf 年 >= 1989 Then
和暦 = "平成" & 年 - 1988 & "年"
Else
和暦 = "昭和" & 年 - 1925 & "年"
End If
End Function

この関数を使うと、「=和暦(Today)」と入力するだけで、現在の日付が和暦で表示されます。

例2特定の単語を強調表示する関数

文書内の特定の単語を強調表示する関数を作成します。

Sub 強調表示(単語 As String)
Dim 範囲 As Range
Set 範囲 = ActiveDocument.Content
With 範囲.Find
.Text = 単語
.MatchCase = False
.MatchWholeWord = True
.Execute
Do While .Found
範囲.Font.Bold = True
.Execute
Loop
End With
End Sub

この関数を使うと、「強調表示(“重要”)」と実行するだけで、文書内の「重要」という単語がすべて太字になります。

UDFを使う際の注意点

UDFを作成する際には、以下の点に注意しましょう。

  • 日本語の変数名は避けるVBAでは日本語の変数名を使用すると、予期しない動作をすることがあります。英語の変数名を使用することをおすすめします。
  • 関数名はわかりやすく関数が何をするものなのか、一目でわかるような名前をつけましょう。
  • エラーハンドリングを行う予期しない入力に対してエラーメッセージを表示するなど、ユーザーが困らないように配慮しましょう。

よくある質問や疑問

Q1: UDFを作成した後、どのようにWord文書で使用しますか?

UDFを作成した後、Word文書内で「=関数名(引数)」と入力することで使用できます。例えば、上記の「足し算」関数を使う場合、「=足し算(3, 5)」と入力すると、結果が表示されます。

Q2: 複数の引数を持つ関数はどのように作成しますか?

複数の引数を持つ関数も、引数をカンマで区切って宣言することで作成できます。例えば、「関数名(引数1 As 型, 引数2 As 型, 引数3 As 型)」のように記述します。

Q3: 作成したUDFを他の文書でも使用するにはどうすればよいですか?

作成したUDFを他の文書でも使用するには、VBAエディタでモジュールをエクスポートし、他の文書でインポートすることで再利用できます。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

Word VBAのユーザー定義関数(UDF)を使えば、日常の作業を効率化するための強力なツールを手に入れることができます。最初は難しそうに思えるかもしれませんが、基本的な構文を覚え、少しずつ自分の必要な処理を作成していけば、必ず役立つスキルとなります。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました