forked from Vitosh/VBA_personal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRangeConnector.vb
74 lines (55 loc) · 2.5 KB
/
RangeConnector.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Sub FormatHalfOfTheSelectedCell()
Dim myRange As Range
Dim color As Long: color = RGB(0, 0, 0)
Dim myShape As Shape
With Worksheets("Sheet1") 'With ActiveSheet
Set myRange = .Range("E10") 'Selection
Dim left As Long: left = myRange.left
Dim top As Long: top = myRange.top
Dim width As Long: width = myRange.width
Dim heigth As Long: heigth = myRange.Height
'Top line:
Set myShape = .Shapes.AddConnector(msoConnectorStraight, left, top, left + width / 2, top)
myShape.Line.ForeColor.RGB = color
'Left line:
Set myShape = .Shapes.AddConnector(msoConnectorStraight, left, top, left, top + myRange.Height)
myShape.Line.ForeColor.RGB = color
'Right line:
Set myShape = .Shapes.AddConnector(msoConnectorStraight, left + width / 2, top, left + width / 2, top + myRange.Height)
myShape.Line.ForeColor.RGB = color
Set myRange = myRange.Offset(1)
left = myRange.left
top = myRange.top
width = myRange.width
heigth = myRange.Height
'Bottom line:
Set myShape = .Shapes.AddConnector(msoConnectorStraight, left, top, left + width / 2, top)
myShape.Line.ForeColor.RGB = RGB(200, 0, 0)
End With
End Sub
Sub FormatRightPartOfSelectedCell()
Dim myRange As Range
Dim color As Long: color = RGB(0, 0, 0)
Dim myShape As Shape
With Worksheets("Sheet1") 'With ActiveSheet
Set myRange = .Range("E10") 'Selection
Dim left As Long: left = myRange.left
Dim top As Long: top = myRange.top
Dim width As Long: width = myRange.width
Dim heigth As Long: heigth = myRange.Height
'Top line:
Set myShape = .Shapes.AddConnector(msoConnectorStraight, left + (width) / 2, top, left + width, top)
myShape.Line.ForeColor.RGB = color
'Right line
Set myShape = .Shapes.AddConnector(msoConnectorStraight, left + width, top, left + width, top + myRange.Height)
myShape.Line.ForeColor.RGB = color
Set myRange = myRange.Offset(1)
left = myRange.left
top = myRange.top
width = myRange.width
heigth = myRange.Height
'Bottom Line:
Set myShape = .Shapes.AddConnector(msoConnectorStraight, left + (width) / 2, top, left + width, top)
myShape.Line.ForeColor.RGB = RGB(200, 0, 0)
End With
End Sub