
PowerPoint VBAを使い、選択中のテキストボックスと同じフォントやフォントサイズのテキストボックスを全選択するマクロをご紹介します。
特定のテキストボックスのフォントやフォントサイズ、書式などを一括で変更したいときに有効です。
コードは神AI「ChatGPT」で開発しました。ChatGPTについては、次の記事で解説しています。

選択中のテキストボックスと同じフォントを全選択するマクロ
コード
Sub SelectTextBoxesWithSameFont()
'スライド内の全てのシェイプを取得
Dim shp As shape
For Each shp In ActiveWindow.Selection.SlideRange.Shapes
'シェイプがテキストボックスかつフォントが同じかどうかを判定
If shp.HasTextFrame And shp.TextFrame.HasText And _
shp.TextFrame.TextRange.Font.Name = ActiveWindow.Selection.TextRange.Font.Name Then
'選択状態にする
shp.Select msoFalse
End If
Next shp
End SubShape.Selectメソッドの引数に「msoFalse」を指定することで、選択中のテキストボックスに追加して該当するテキストボックスが選択されます。「Shift」キーを押しながら順番に選択する動作と同じです。
- 最初に選択するテキストボックスに複数のフォントが使われている場合は機能しません。
マクロの使い方は、次の記事で解説しています。

実行結果

全選択したいフォントが設定されたテキストボックスを選択します。ここでは「MS ゴシック」が設定されたテキストボックスを選択しました。

マクロを実行すると、スライド内の「MS ゴシック」で設定されたテキストボックスが全て選択された状態になります。
選択中のテキストボックスと同じフォントサイズを全選択するマクロ
コード
Sub SelectTextBoxesWithSameFontSize()
'スライド内の全てのシェイプを取得
Dim shp As shape
For Each shp In ActiveWindow.Selection.SlideRange.Shapes
'シェイプがテキストボックスかつフォントサイズが同じかどうかを判定
If shp.HasTextFrame And shp.TextFrame.HasText And _
shp.TextFrame.TextRange.Font.Size = ActiveWindow.Selection.TextRange.Font.Size Then
'選択状態にする
shp.Select msoFalse
End If
Next shp
End Sub実行結果

全選択したいフォントサイズが設定されたテキストボックスを選択します。ここでは「MS ゴシック」の「32pt」が設定されたテキストボックスを選択しました。

マクロを実行すると、スライド内の「32pt」で設定されたテキストボックスが全て選択された状態になります。






















