|
▼カド さん:
おはようございます。
>2本の線が交わるように描画すると、”X”こんな形になりますが、
>これをトリムすると”<”、”>”こんな感じになります。
こんな図形が作成可能なら他の方法でもと言うのなら、
線をつなげてグループ化すると同じような図形が作成できますよね?
新規ブックの標準モジュールに
'==============================================================
Sub test()
Dim rad As Double
rad = WorksheetFunction.pi() / 4
Call mk_hutougou([b5].Left, [b5].Top, 20, rad, , False)
Call mk_hutougou([b5].Left, [b5].Top, 20, rad, , True)
End Sub
'=====================================================================
Function mk_hutougou(ByVal stx As Double, ByVal sty As Double, rs As Double, rad As Double, Optional sht As Worksheet = Nothing, Optional opn As Boolean = False) As Shape
'不等号を作成する
' input stx 不等号始点となるLeft
' sty 不等号始点となるtop
' rs 半径距離
' rad 角度 Radian
' sht 作成するシート
' opn false 右開き true 左開き
Dim pi As Double
Dim l1 As Line
Dim l2 As Line
Dim crad As Double
Dim srad As Double
pi = WorksheetFunction.pi()
srad = rad / 2
crad = rad / 2
If opn = True Then crad = crad + pi
If sht Is Nothing Then Set sht = ActiveSheet
Set l1 = sht.Lines.Add(stx, sty, stx + rs * Cos(-crad), sty + rs * Sin(-srad))
Set l2 = sht.Lines.Add(stx, sty, stx + rs * Cos(-crad), sty + rs * Sin(srad))
Set mk_hutougou = sht.Shapes.Range(Array(l1.Name, l2.Name)).Group
End Function
でサンプルを作成してみてください。
セルB5の左上を始点に45度の角度で右・左開きで作成しています。
トリミングでも上記を応用すれば出来るかもしれませんが・・・。
試してみてください。
|
|