Excel VBA 質問スレッド №2023 (解決済)

複数選択したLineの線色を変更したい

投稿者 : けろ     投稿日時 : 2024/10/11(Fri) 11:29:51     OS : Windows 10     EXCEL : Excel 2016
線が複数ひかれているシートで、複数選択したLineの線色を変更したいです。

Private Sub 線色変更BT_Click()
Dim Target As String
Target = Selection.Name
ActiveSheet.Shapes(Target).Line.ForeColor.RGB = RGB(255, 0, 0)
End Sub

一つの選択だけだと良いのですが複数選択で色変更するにはどう記述したら良いでしょうか。

スポンサーリンク
[返信 1] Re : 複数選択したLineの線色を変更したい
投稿者 : さんこう     投稿日時 : 2024/10/11(Fri) 12:03:35
>複数選択で色変更するには

「マクロの記録」をしてみるとよろしいかと思います。


<VBA マクロの記録>
https://www.google.com/search?q=VBA+%E3%83%9E%E3%82%AF%E3%83%AD%E3%81%AE%E8%A8%98%E9%8C%B2

[返信 2] Re : 複数選択したLineの線色を変更したい
投稿者 : higeru     投稿日時 : 2024/10/11(Fri) 13:03:24
全部同じ色にするなら、ひとつだろうが複数だろうが

Selection.ShapeRange.Line.ForeColor.RGB = rgbRed

の1行でよいでしょう。ただしこの場合Line以外のオートシェイプが選択されていても対象となりますけど。

[返信 3] Re : 複数選択したLineの線色を変更したい
投稿者 : けろ     投稿日時 : 2024/10/11(Fri) 14:53:37
さんこう様、higeru様
ありがとうございます!アドバイスをいただいて、線をif判定しながら以下のとおり実行できました!


Private Sub 線色変更BT_Click()

On Error Resume Next

Dim 図形 As Shape
Dim 図形タイプ As MsoShapeType

図形タイプ = msoLine '選択しているオブジェクトのタイプを取得'

Application.ScreenUpdating = False

For Each 図形 In Selection.ShapeRange
If 図形.Type = 図形タイプ Then
図形.Line.ForeColor.RGB = RGB(255, 0, 0)
Else
End If
Next 図形

Application.ScreenUpdating = True

End Sub

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-07-05 17:17:52 )
タイトルとURLをコピーしました