Wordの文書にある表の数値を一括で修正したいとき、手作業では時間がかかりすぎてしまいますよね。そこで活躍するのが「Word VBA(Visual Basic for Applications)」です。今回は、初心者の方でもわかりやすく、実際に使えるマクロコードを紹介しながら、操作手順を解説します。
Word VBAとは?
Word VBAとは、Microsoft Wordに組み込まれているプログラミング言語です。これを使うと、繰り返しの作業や複雑な編集を自動化できます。例えば、表の中の数値を一括で変更したり、特定の条件に合ったセルだけを修正したりすることが可能です。
なぜ手作業ではなくVBAを使うのか?
例えば、経理部門で毎月数百行の表を手作業で修正しているとしましょう。手作業ではミスが起きやすく、時間もかかります。しかし、VBAを使えば、数行のコードでその作業を数秒で終わらせることができます。これにより、ミスを減らし、作業効率を大幅に向上させることができます。
VBAを使う前に準備すること
VBAを使うには、まずWordの「開発」タブを表示させる必要があります。以下の手順で設定できます
- Wordを開き、左上の「ファイル」をクリックします。
- 「オプション」を選択し、「リボンのユーザー設定」をクリックします。
- 「開発」にチェックを入れ、「OK」をクリックします。
これで「開発」タブが表示され、VBAエディタを開くことができます。
実際に使える!表の数値を一括修正するVBAコード
以下のコードは、Word文書内のすべての表を対象に、指定した数値を一括で修正するものです
vba
Sub 修正する()
Dim tbl As Table
Dim cel As Cell
Dim 修正前 As String
Dim 修正後 As String
' 修正前と修正後の数値を設定
修正前 = "100"
修正後 = "200"
' 文書内のすべての表をループ
For Each tbl In ActiveDocument.Tables
' 各表のセルをループ
For Each cel In tbl.Range.Cells
' セルの内容が修正前の数値と一致する場合
If cel.Range.Text Like "*" & 修正前 & "*" Then
' セルの内容を修正後の数値に変更
cel.Range.Text = Replace(cel.Range.Text, 修正前, 修正後)
End If
Next cel
Next tbl
End Sub
このコードでは、文書内のすべての表を対象に、セルの内容が「100」と一致する場合に、それを「200」に変更します。
コードの解説
* `Dim tbl As Table`表を表す変数を宣言します。
* `Dim cel As Cell`セルを表す変数を宣言します。
* `修正前 = “100”`修正前の数値を設定します。
* `修正後 = “200”`修正後の数値を設定します。
* `For Each tbl In ActiveDocument.Tables`文書内のすべての表をループします。
* `For Each cel In tbl.Range.Cells`各表のセルをループします。
* `If cel.Range.Text Like “*” & 修正前 & “*” Then`セルの内容が修正前の数値と一致する場合に処理を行います。
* `cel.Range.Text = Replace(cel.Range.Text, 修正前, 修正後)`セルの内容を修正後の数値に変更します。
実際の使用例
例えば、経理部門で毎月の売上表を作成しているとします。各月の売上金額が「100」と記載されている場合、それを「200」に一括で変更する必要があるとき、このVBAコードを使用することで、手作業での変更を省略し、作業時間を大幅に短縮できます。
よくある質問や疑問
Q1: VBAのコードをどこに貼り付ければ良いですか?
Wordの「開発」タブから「Visual Basic」をクリックし、VBAエディタを開きます。次に、「挿入」→「標準モジュール」を選択し、表示されたモジュールにコードを貼り付けます。
Q2: 他の条件で修正したい場合はどうすれば良いですか?
`If cel.Range.Text Like “*” & 修正前 & “*” Then`の部分を変更することで、他の条件に対応できます。例えば、特定の文字列を含むセルだけを対象にすることができます。
Q3: 修正後の数値を他の数値に変更したい場合はどうすれば良いですか?
`修正後 = “200”`の部分を変更することで、修正後の数値を自由に設定できます。
まとめ
Word VBAを使うことで、文書内の表の数値を一括で修正する作業を自動化できます。これにより、作業効率が向上し、ミスを減らすことができます。ぜひ、今回紹介したコードを試してみてください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。



コメント