So let's write a little procedure you can use for any general chart.
Assume: if Y values are in columns, the name is in the cell above the first Y value; if Y values are in rows, the name is in the cell to the left of the first Y value.
Approach: loop through each series in the active chart, extract the Y values address from the series formula, determine which cell has the name, and apply it to the series.
Sub ApplyNamesToSeries()
If Not ActiveChart Is Nothing Then
With ActiveChart
Dim srs As Series
For Each srs In .SeriesCollection
' series formula
Dim sFmla As String
sFmla = srs.Formula
' just the arguments
sFmla = Mid$(Left$(sFmla, Len(sFmla) - 1), InStr(sFmla, "(") + 1)
' split into an array
Dim vFmla As Variant
vFmla = Split(sFmla, ",")
' Y values are the 3rd argument
Dim sYVals As String
sYVals = vFmla(LBound(vFmla) + 2)
' the Y value range
Dim rYVals As Range
Set rYVals = Range(sYVals)
' by row or column?
If rYVals.Rows.Count > 1 Then
' by column, so use cell above column of Y values
Dim rName As Range
Set rName = rYVals.Offset(-1).Resize(1)
ElseIf rYVals.Columns.Count > 1 Then
' by row, so use cell to left of Y values
Set rName = rYVals.Offset(, -1).Resize(, 1)
Else
' one cell only: who knows?
Set rName = Nothing
End If
If Not rName Is Nothing Then
srs.Name = "=" & rName.Address(, , , True)
End If
Next
End With
End If
End Sub