Maybe draw diagonal lines over cells if(?) the idea is something along the
lines of putting some symbols in the grid. Then use the Camara method
(copy
range, Shift-Edit, Paste picture link), to place the diamond cell grid
over
the chart or some other range, positioned as needs.
A little macro to draw the lines -
In a new sheet, for testing, experiment with rTopLeft, 'wide', row/column
heights, and some appropriate Font
Sub DiamondRoof()
Dim i As Long, j As Long, cnt As Long
Dim wide As Long
Dim L2 As Double, T2 As Double
Dim rTopLeft As Range, c1 As Range, c2 As Range
Dim shps As Shapes, shLine As Shape
'uncomment for testing
' ActiveSheet.Lines.Delete
' ActiveSheet.GroupObjects.Delete
Set rTopLeft = Range("B2") '<< CHange, where to put it
wide = 9 '<< Change, how big
Set shps = ActiveSheet.Shapes
With rTopLeft
With .Resize(wide + 1, wide * 2 + 1)
.Borders.LineStyle = xlNone
.Interior.ColorIndex = xlAutomatic ' remove gridlines
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ColumnWidth = 2.38 ' << adjust
.RowHeight = 17.25 ' << adjust
End With
For i = 1 To wide + 1
' up to right line
Set c1 = .Cells(wide + 2, i * 2 - 1)
Set c2 = .Cells(i, wide + i)
With c2
L2 = .Left + .Width / 2
T2 = .Top + .Height / 2
End With
With c1
Set shLine = shps.AddLine(.Left, .Top, L2, T2)
End With
' down to right line
Set c1 = .Cells(wide + 2, i * 2)
Set c2 = .Cells(wide + 2 - i, i)
With c2
L2 = .Left + .Width / 2
T2 = .Top + .Height / 2
End With
With c1
Set shLine = shps.AddLine(.Left, .Top, L2, T2)
End With
Next
Set c1 = .Cells(wide + 2, 1)
Set c2 = .Cells(wide + 2, wide * 2 + 2)
With c2
L2 = .Left
T2 = .Top
End With
' bottom line
With c1
Set shLine = shps.AddLine(.Left, .Top, L2, T2)
End With
End With
ReDim arr(1 To wide * 2 + 3)
cnt = shps.Count
j = 0
For i = cnt - (wide * 2 + 3) + 1 To cnt
j = j + 1
arr(j) = i
Next
With shps.Range(arr)
.Line.ForeColor.SchemeColor = 7 + 16
' any other formats
.Group
End With
End Sub
Regards,
Peter T