|
- Sub 宏1()
- Application.ScreenUpdating = False
- Dim rng1 As Range, rng2 As Range
- On Error Resume Next
- For Each shp In ActiveSheet.Shapes
- If InStr(shp.Name, "Connector") > 0 Then shp.Delete
- If InStr(shp.Name, "Line") > 0 Then shp.Delete
- Next
- Range("fa1:go120").Interior.ColorIndex = -4142
- Range("fa1:go120").Font.ColorIndex = 5
- For j = 197 To 157 Step -2
- For i = 1 To 120
- If Cells(i, j) = ActiveCell Then
- n = n + 1
- Cells(i, j).Interior.ColorIndex = 7
- Cells(i, j).Font.Color = vbWhite
- If n = 1 Then
- Set rng1 = Cells(i, j)
- Else
- Set rng2 = Cells(i, j)
- Call AddArrow(rng1, rng2)
- Set rng1 = Cells(i, j)
- End If
- End If
- Next
- Next
- Application.ScreenUpdating = True
- End Sub
- Sub AddArrow(rng1 As Range, rng2 As Range) 'rng1-->rng2,画箭头
- a1 = rng1.Left + rng1.Width / 2: b1 = rng1.Top + rng1.Height / 2
- a2 = rng2.Left + rng2.Width / 2: b2 = rng2.Top + rng2.Height / 2
- ActiveSheet.Shapes.AddConnector(msoConnectorStraight, a1, b1, a2, b2).Select
- Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadOpen
- End Sub
复制代码 |
|