Working code:
Sub StackLabels()
Dim WS0 As Worksheet, WS1 As Worksheet
Dim RngHeader As Range, RngCell As Range
Dim StrField As String
Dim LastRow As Long, ResizeRow As Long
With ThisWorkbook
Set WS0 = .Sheets("Stacking RR")
Set WS1 = .Sheets("Stacking")
End With
With WS0
LastRow = .Range("Z" & .Rows.Count).End(xlUp).Row
ResizeRow = LastRow - 3 'If data begins at row 4, subtract 1 to get correct starting row of data.
Set RngHeader = .Range("Z4:AS4")
End With
WS1.ChartObjects("StackingPlan").Activate
ActiveChart.SetElement (msoElementDataLabelNone)
ActiveChart.ApplyDataLabels
ActiveSheet.ChartObjects("StackingPlan").Activate
keycolumn = Range("Z4").Column
For Each Ser In ActiveChart.SeriesCollection
n = Val(Ser.Name)
Ser.DataLabels.Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange, CStr("='Stacking RR'!" & Range(Cells(4, keycolumn + n), Cells(LastRow, keycolumn + n)).Address), 0
Ser.DataLabels.ShowRange = True
Ser.DataLabels.ShowValue = False
Next Ser
End Sub