Excel2010です。
マクロの記録でフリーフォームを作成するマクロを作りました。
角が1つある直線のフリーフォームです。
Sub Macro1()
With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 50, 50)
.AddNodes msoSegmentLine, msoEditingAuto, 100, 150
.AddNodes msoSegmentLine, msoEditingAuto, 150, 150
End With
End Sub
マクロを実行した後、「頂点の編集」で真ん中の頂点を移動すると片側の線が曲線になってしまいました。
マクロを使わず、同じフリーフォームを直接描画して頂点を移動すると曲線にはなりません。
マクロで描画後に毎回「線分を伸ばす」で直線にするのは面倒なので、はじめから曲線にならないようにするには、マクロをどう直せば良いでしょうか?
またマクロでできあがる線は、真ん中の頂点がない直線でもかまいません。
目的はマクロで出来た線に「頂点の追加」で角を数カ所追加することです。
角の位置はその都度変わります。
このブックはExcel2003、2007、2010で使用する予定です。
もしくは、フリーフォームが曲線にならないようにExcelの設定を変えてしまう方法でもかまいません。
どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
「フリーハンド」はVBAだと理解しにくいものの1つです。
いろいろ試して自分で理解し覚えていくしかありません。
手動でもマクロでも頂点を追加してからその点を動かさないと曲線になります。
With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, 170.25, 45)
.AddNodes msoSegmentLine, msoEditingAuto, 171, 165
.ConvertToShape.Select
End With
Selection.ShapeRange.Nodes.Insert 1, msoSegmentCurve, msoEditingAuto, 30, 61.5
どうもありあとうございました。
2010で直線になるようにするとそれが2007では曲線になり、2007でマクロを修正すると2010で曲線になる。。。の状態で悩んでいました。
示していただいたマクロも2007で実行すると曲線になってしまいましたが、ご説明でどうにもならないことと理解しました。
ですがこれを参考にさせていただいて、間に頂点を2つもうける事で直線のまま頂点を編集することができるようになりました。
大変参考になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Word(ワード) ワード。フリーフォームの使い方が分かりません。 1 2022/10/06 16:18
- 画像編集・動画編集・音楽編集 ワード。頂点の編集。 4 2022/09/28 14:14
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/10 09:06
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルVBA、フリーフォームで円を描画したい
Excel(エクセル)
-
【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい
Visual Basic(VBA)
-
Excel VBA で自在に図形を変化させたい
Visual Basic(VBA)
-
-
4
excel/vbaにてオートシェイプに名前の定義づけ
Excel(エクセル)
-
5
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
6
エクセルで、オブジェクトの選択を禁止する方法。
Excel(エクセル)
-
7
Excelのシート上のShapeにイベントは設定できる?
Excel(エクセル)
-
8
VBAで図形同士をコネクタで繋いでいく方法
Visual Basic(VBA)
-
9
vba Shapes.AddLineの名前取得について教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
エクセルの表を複数枚印刷した...
-
複数のマクロボタンをまとめて...
-
エクセルの、記録を終了したマ...
-
Excelのマクロでボタンを押すと...
-
エクセル マクロ名にブック名...
-
Excelマクロをバックグラウンド...
-
エクセルマクロで、別のブック...
-
エクセルでマクロ(Excel 4.0)...
-
なぜマクロの記録がなくなって...
-
エクセルで、「いいね」のよう...
-
エクセル ボタンに設定したマク...
-
別シートのマクロボタンをマク...
-
Excelのマクロでフリーフォーム...
-
マクロをマクロを使ってコピー...
-
IMEを制御するマクロについて教...
-
Excelで、マクロが含まれ...
-
リーグ戦(10チーム2コート)作...
-
エクセルなどで、ボタンを押す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
Excelのマクロでボタンを押すと...
-
エクセルで、「いいね」のよう...
-
エクセル マクロ名にブック名...
-
エクセル ボタンに設定したマク...
-
エクセルの、記録を終了したマ...
-
エクセルの表を複数枚印刷した...
-
複数のマクロボタンをまとめて...
-
エクセルマクロで、別のブック...
-
Excelマクロで、稼働中のマクロ...
-
エクセルでマクロ(Excel 4.0)...
-
別シートのマクロボタンをマク...
-
(Excel VBA)シートコピー時マ...
-
Excel:マクロを消す方法教えて...
-
マクロ実行ボタンを自動削除したい
-
EXCELのマクロが他のパソコンで...
-
Excelのマクロ名の並び順の法則...
-
マクロをマクロを使ってコピー...
-
Excelマクロをバックグラウンド...
おすすめ情報