Apologies I should have tested it, there were two problems. 1st too many "R" s in "inarrr" and secondly the .value extension is not valid for a variatn arry I only changed one of them
I have also tweaked your code to shoe you how to use only one index (i) instead of i, R and C
Sub test()Dim i As Long Dim inarr As Variant inarr = Range(Cells(1, 1), Cells(9, 6)) For i = 1 To 9 If i <= 5 Then inarr(i, i) = "*" Else inarr(i, 10 - i) = "*" End If Next i Range(Cells(1, 1), Cells(9, 6)) = inarr