PowerPoint VBAの「For Each」ループを使ってみよう!初心者でもわかる基本の使い方

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

PowerPointでのプレゼンテーション作成がもっと楽になるマクロ(自動化プログラム)を作りたいと思ったことはありませんか?でも、「VBAって難しそう」「プログラミングなんてできない」と感じている方も多いはず。そんなあなたに、まずは「For Each」ループを使った簡単なマクロの作り方をご紹介します。

スポンサーリンク

For Eachループって何?

PowerPointのイメージ

PowerPointのイメージ

「For Each」は、VBAでよく使われる繰り返し処理の一つです。例えば、スライドの中にあるすべての図形(テキストボックスや画像など)に同じ操作をしたいときに便利です。

こんなときに使います

ここがポイント!

  • スライド内のすべての図形のフォントを変更したい
  • 特定の条件に合う図形を探して操作したい
  • 複数のスライドにわたって同じ処理を繰り返したい

実際にやってみよう!スライド内のフォントを変更するマクロ

まずは、PowerPointを開いて、以下の手順でマクロを作成してみましょう。

  1. PowerPointを開き、Alt + F11キーを押してVBAエディタを開きます。
  2. 「挿入」→「標準モジュール」を選択して、新しいモジュールを作成します。
  3. 以下のコードをコピーして、モジュールに貼り付けます。
vba
Sub ChangeFontForAllShapes()
Dim sld As slide
Dim shp As shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.HasTextFrame Then
If shp.TextFrame.HasText Then
shp.TextFrame.TextRange.Font.Name = "Meiryo UI"
shp.TextFrame.TextRange.Font.Size = 18
End If
End If
Next shp
Next sld
End Sub
  1. F5キーを押してマクロを実行します。
  2. すべてのスライドの図形内のテキストのフォントが「Meiryo UI」に、サイズが18に変更されます。

For EachとForの違いは?

「For Each」と「For」は、どちらも繰り返し処理を行う構文ですが、使い方に違いがあります。

  • For Eachコレクション(複数のオブジェクト)を一つずつ取り出して処理します。順番を気にせず、すべての要素に対して同じ操作をしたいときに便利です。
  • Forカウンタ変数を使って、指定した回数だけ繰り返し処理を行います。繰り返し回数が決まっているときに使います。

例えば、スライドの数が決まっている場合は「For」を使い、スライド内のすべての図形に対して操作を行いたい場合は「For Each」を使います。

よくある質問や疑問

Q1: For EachとForはどちらを使うべきですか?

一般的には、コレクション(複数のオブジェクト)を一つずつ処理する場合は「For Each」を使います。例えば、スライド内のすべての図形に対して操作を行いたい場合などです。

Q2: For Eachを使うときの注意点はありますか?

「For Each」はコレクションの順番に依存しないため、順番通りに処理を行いたい場合は「For」を使う方が適しています。

Q3: VBAのコードがうまく動かないときはどうすればいいですか?

コードのエラーメッセージを確認し、どの行でエラーが発生しているかを特定します。また、変数の宣言やオブジェクトの存在確認など、基本的な部分を再確認すると良いでしょう。

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

LINE公式

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

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

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

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

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

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

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

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

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

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

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

相談しに行く

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

まとめ

PowerPointでの作業を効率化するために、VBAを使ったマクロはとても便利です。特に「For Each」ループを使うことで、スライド内のすべての図形に対して同じ操作を簡単に行うことができます。最初は難しく感じるかもしれませんが、少しずつ覚えていけば、作業の効率が格段にアップします。

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

コメント

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