• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:両方向矢印のみ選択するマクロってありますか?)

両方向矢印のみ選択するマクロ

このQ&Aのポイント
  • マクロの初心者です。Excel2003を使用しています。矢印がたくさんあるシートで、両方向矢印のみを残し、片方向を向いている矢印を消したいと思っています。しかし、全ての矢印を選択する方法がわかりません。他のシートにも同じような処理を行いたいので、解決策を教えてください。
  • 両方向矢印のみを残したい場合、まずそれらを選択しグループ化し、線を削除すると矢印が消えます。しかし、すべての両方向矢印を選択する方法がわからないため、困っています。どのように選択すれば良いでしょうか。
  • Excel2003のマクロ初心者です。シートには多くの矢印がありますが、両方向矢印のみを残して他の矢印を消去したいと思っています。両方向矢印を選択してグループ化し、線を削除すれば消えると思うのですが、全ての両方向矢印を一度に選択する方法がわかりません。ご教授いただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • CC_T
  • ベストアンサー率47% (1038/2202)
回答No.2

線を一つ一つ順繰りに見て、削除するかどうかを先端形状のスタイルで条件分岐してはどうでしょうか。 ~~~~ここから Dim L As Shape  For Each L In ActiveSheet.Shapes    If L.Type = msoConnectorStraight Then    If L.Line.BeginArrowheadStyle = msoArrowheadNone Then L.Delete  End If  '///2003だと矢印線はmsoline扱いだった様な気がするな。  ' If L.Type = msoLine Then  ' If L.Line.BeginArrowheadStyle = msoArrowheadNone Then L.Delete  ' End If  Next ~~~~ここまで 中には開始端ではなく終端が無印の矢印もあるかもしれませんが、上の例ではそれは含めてません。 必要に応じてEndArrowheadStylでも条件分岐してみてください。 とりあえず私の環境ではこれで開始端無印の片矢印線は全部消えて、図形や両矢印線のみ残せました。 ただ、2010を使用しているので、2003と微妙に違うかもしれないです。確か2003では矢印はmsoConnectorStraightなどではなくmsolineと分類されていたような気がします。 2003環境がないので動作確認してませんが、コメント文部分にmsolineの場合も入れておきました。 そちらの環境で「マクロの記録」をしながら先端形状代えて線をいくつか書いてみて、出来上がるマクロの 内容を眺めて条件文をどうするか判断してみてください。

apenelope
質問者

お礼

遅くなってすみません。できました!ありがとうございました。 すごいの一言です。もっと、もっと、マクロを勉強しなくては・・ 基本からやり直しかもしれませんが・・・

その他の回答 (1)

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

2003版は「マクロの記録」がとれるはずです。それを元に考えればわかるはずです。 そのBookのコピーを作成し、それでテストしてください。 Dim arw As Shape For Each arw In Sheet1.Shapes If arw.Line.BeginArrowheadStyle = msoArrowheadOpen Then arw.Delete Next

apenelope
質問者

補足

超・超・超初心者だからなのでしょうか? マクロにコピーしてみたのですが・・・ Sub 矢印() Dim arw As Shape For Each arw In Sheet1.Shapes If arw.Line.BeginArrowheadStyle = msoArrowheadOpen Then arw.Delete Next End Sub とやってみたのですが、どの矢印も選択されません。 でも、エラーにもならずに・・・どうすれば選択されるのでしょうか?

関連するQ&A