- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 1# yenwang
試試看- Option Explicit
- Sub Ex()
- Dim Sp As Object
- Dim A(1 To 4), i, b(1 To 4)
- A(1) = Array([D5].Left, [D5].Top)
- A(2) = Array([D10].Left, [D10].Top)
- A(3) = Array([H10].Left, [H10].Top)
- A(4) = Array([H5].Left, [H5].Top)
- ActiveSheet.Shapes.SelectAll
- Selection.Delete
- For i = 1 To UBound(A)
- With ActiveSheet.Shapes.AddLine(A(i)(0), A(i)(1), A(IIf(i < UBound(A), i + 1, 1))(0), A(IIf(i < UBound(A), i + 1, 1))(1))
- b(i) = .Name
- End With
- Next
- Set Sp = ActiveSheet.Shapes.Range(b)
- With Sp
- .Fill.Transparency = 0#
- .Line.Weight = 4.5
- .Line.ForeColor.SchemeColor = 10
- End With
- Stop
- A(1) = Array(0, 3, 5, 7)
- For i = 1 To Sp.Count
- With Sp(i)
- .Fill.Transparency = 0
- .Line.Weight = A(1)(i - 1)
- .Line.ForeColor.SchemeColor = A(1)(i - 1) + 10
- .Line.BeginArrowheadLength = msoArrowheadLengthMedium
- .Line.EndArrowheadWidth = msoArrowheadWidthMedium
- .Line.EndArrowheadStyle = msoArrowheadOval
- End With
- Next
- End Sub
複製代碼 |
|