Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAで線の矢印を消すには

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2506(ビルド18925.20158クイック実行)

「excelvba 線分 矢印なし」
といった検索キーワードでアクセスがありました。

判断が難しいキーワードですが、Excel VBAで「線矢印」「線矢印:双方向」の矢印を消す方法を調べていらしたのではないかと想像しています。

線の矢印を消すサンプルマクロ

以下のExcelマクロが参考になるのではないでしょうか。

Sub 線の矢印を無しにする()

 Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
 
  If shp.AutoShapeType = msoShapeMixed Then
   If shp.ConnectorFormat.Type = msoConnectorStraight Then
    With shp.Line
     .BeginArrowheadStyle = msoArrowheadNone
     .EndArrowheadStyle = msoArrowheadNone
    End With
   End If
  End If
  
 Next

End Sub

サンプルマクロで行っている処理

線の判定が難しいところで、(以前とは異なり)最近のExcelで作成した線の場合、Shape.AutoShapeTypeプロパティの戻り値がmsoShapeMixedになっているようなので、

  If shp.AutoShapeType = msoShapeMixed Then

とIf文を入れています。

コネクタや曲線の場合には、矢印を消さないようにするために、更にConnectorFormatオブジェクトのTypeプロパティの判定を入れて、

   If shp.ConnectorFormat.Type = msoConnectorStraight Then

Shape.Lineプロパティで取得できる、LineFormatオブジェクトのBeginArrowheadStyleプロパティ・EndArrowheadStyleプロパティで矢印無しの状態にしています。

    With shp.Line
     .BeginArrowheadStyle = msoArrowheadNone
     .EndArrowheadStyle = msoArrowheadNone

最終更新日時:2025-07-25 12:58

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » Excel VBAで線の矢印を消すには

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.