回答ではないです。
似たような絵が描けないかなとがんばってみた結果です。
見た目で座標調整しているだけなので、拡大すると線がずれまくりです。
▲部分は未実装。
というか柄の法則的に、3本の線が交わった中を塗る感じですかね。
数学的計算ができる人じゃないと難しいです(私は無理)
あと今は線を回転させてますが、回転ではなく、きちんと計算して開始終了座標を求める必要があると思います。
VBA
1Sub test()
2 Dim x As Long
3 Dim y As Long
4 Dim l As Long
5
6 l = 60
7
8 x = 100
9 y = 100
10 Call threeline(x, y, l)
11 Call threeline(x, y, l)
12 Call threeline(x, y, l)
13
14 x = 80
15 y = 140
16 Call threeline(x, y, l)
17 Call threeline(x, y, l)
18 Call threeline(x, y, l)
19
20 x = 60
21 y = 180
22 Call threeline(x, y, l)
23 Call threeline(x, y, l)
24 Call threeline(x, y, l)
25
26End Sub
27
28Sub threeline(x As Long, y As Long, ByVal l As Long)
29
30 Dim sp As Shape
31 For i = 1 To 3 '---3回処理を繰り返す
32 Set sp = Shapes.AddLine(beginx:=x, BeginY:=y, EndX:=x, EndY:=y + l)
33 sp.Rotation = i * 60
34 Next i
35 x = x + 45
36 y = y - 5
37
38End Sub
実行結果を載せておきます。
シートの枠線は非表示にしています。
ご要望のあった▲に対応したものを作ってみました。
▲の書き方が適当(というか作りっぱなし)なのでたぶん正三角形にはなってないです。
なので相変わらずずれてますが、ご勘弁ください。
VBA
1Sub test()
2 Dim x As Long
3 Dim y As Long
4 Dim l As Long
5
6 l = 60
7
8 x = 100
9 y = 100
10 Call threeline(x, y, l)
11 Call threeline(x, y, l)
12 Call threeline(x, y, l)
13
14 x = 81
15 y = 141
16 Call threeline(x, y, l)
17 Call threeline(x, y, l)
18 Call threeline(x, y, l)
19
20 x = 62
21 y = 182
22 Call threeline(x, y, l)
23 Call threeline(x, y, l)
24 Call threeline(x, y, l)
25
26End Sub
27
28Sub threeline(x As Long, y As Long, ByVal l As Long)
29
30 Dim sp As Shape
31 For i = 1 To 3 '---3回処理を繰り返す
32 Set sp = Shapes.AddLine(beginx:=x, BeginY:=y, EndX:=x, EndY:=y + l)
33 sp.Rotation = i * 60
34 Next i
35
36 With Shapes.AddShape(msoShapeIsoscelesTriangle, x + l / 2 - 11, y + l / 2 / 2 - 4, 7, 7)
37 .Rotation = 90
38 End With
39 With Shapes.AddShape(msoShapeIsoscelesTriangle, x - 7, y, 7, 7)
40 .Rotation = 270
41 End With
42
43 x = x + 45
44 y = y - 5
45
46End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/31 06:20 編集
2020/07/31 06:41
2020/07/31 06:42
2020/08/03 03:49 編集
2020/08/03 04:30
2020/08/03 04:35
2020/08/03 04:35
2020/08/03 04:37
2020/08/03 04:44
2020/08/03 05:39
2020/08/03 05:47
2020/08/03 09:23