Is it the actual values of the cells B7:E7 you want to paste into the formula or the addresses? If it is the latter, you need to append .address to the ranges when you define them.
It also look like you are missing a few quotation marks when you are defining your formula, it is a bit hard to read though.
Assuming your first formula is in the correct format, I'd do something like:
Option Explicit
Sub ChangeSectorFormulaCalcs()
Dim Name1 As String
Dim Name2 As String
Dim Name3 As String
Dim Name4 As String
Dim CalStrformula1 As String
Worksheets("Calculations").Select
Name1 = Range("B7")
Name2 = Range("C7")
Name3 = Range("D7")
Name4 = Range("E7")
CalStrformula1 = "=INDEX(" + Name1 + "&Data,MATCH($A11," + Name1 + "&Dates,0),MATCH(B$9," + Name1 + "&Bonds,0))"
End Sub